我正在使用一种比较项目中两个值的方法。
public static bool Compare<T>(T x, T y)
{
return EqualityComparer<T>.Default.Equals(x, y);
}
我还有一种在项目中设置属性的方法。
protected bool SetField<T>(Action<T> property, T value, [CallerMemberName] string propertyName = null)
{
property(value);
RaisePropertyChanged(propertyName);
return true;
}
当我尝试使用类似的方法比较Action<T> property
和T value
中属性的当前值时
if (Compare(property, value))
{
return false;
}
我得到一个错误。
不能从用法中推断出方法'NotifyPropertyChange.Compare(T,T)'的类型参数。尝试显式指定类型参数。
我之所以这样想是因为property
是一个动作。
是否可以导出属性的值,以便可以与Compare
方法一起使用?
示例用法
public int Prop {
get => model.Prop;
set => SetField(x => model.Prop = x, value);
}