方法组的NotifyOfPropertyChange?

时间:2014-02-01 23:01:52

标签: c# caliburn.micro

嗨,

简短的问题:

我想通知我的ui,所以我的守护方法再次被调用..但不幸的是我使用这个语句得到了语法错误:

NotifyOfPropertyChange(() => CanLogin);

我的类继承了PropertyChangedBase。

错误消息:

  

方法'void Calidburn.Miro:PropertyChangedBase.NotifyOfPropertyChange<TProperty>(Expression<Func<TProperty>>)'的类型参数   无法从使用中推断出来。尝试指定类型参数   明确。

我是否会错过一些超载或其他错误?还有什么可能是问题?

1 个答案:

答案 0 :(得分:2)

根据您在评论中发布的代码,我认为您的问题是NotifyPropertyChanged方法希望您传递属性,而不是方法。

所以你想要的东西是:

public bool CanLogin 
{ 
    get
    {
        return !string.IsNullOrEmpty(Ip) && !string.IsNullOrEmpty(Name) && !string.IsNullOrEmpty(Port); 
    }
}

我打算写一些关于Expression<Func<TProperty>>的内容来帮助解释错误信息,但这个答案做得很棒:Why would you use Expression<Func<T>> rather than Func<T>?