public static void Main()
var viewModel1 = new ViewModel()
var viewModel2 = new ViewModel()
Address = "123 Main St Ste A"
Console.WriteLine(CompareViewModelProperties(viewModel1, null, vm => vm.BusinessName));
Console.WriteLine(CompareViewModelProperties(viewModel1, null, vm => vm.Address));
Console.WriteLine(CompareViewModelProperties(viewModel1, viewModel2, vm => vm.BusinessName));
Console.WriteLine(CompareViewModelProperties(viewModel1, viewModel2, vm => vm.Address));
private static bool CompareViewModelProperties(ViewModel vm1, ViewModel? vm2, Func<ViewModel, string> prop)
return (vm2 != null && prop(vm1) != prop(vm2));
public string BusinessName { get; set; }
public string Address { get; set; }