嗨,
简短的问题:
我想通知我的ui,所以我的守护方法再次被调用..但不幸的是我使用这个语句得到了语法错误:
NotifyOfPropertyChange(() => CanLogin);
我的类继承了PropertyChangedBase。
错误消息:
方法
'void Calidburn.Miro:PropertyChangedBase.NotifyOfPropertyChange<TProperty>(Expression<Func<TProperty>>)'
的类型参数 无法从使用中推断出来。尝试指定类型参数 明确。
我是否会错过一些超载或其他错误?还有什么可能是问题?
答案 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>?