代码之家  ›  专栏  ›  技术社区  ›  Dan

均衡器和动作

  •  1
  • Dan  · 技术社区  · 6 年前

    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);
    }
    
    0 回复  |  直到 6 年前