有没有办法在 C# 中获取对成员函数或属性的自动引用?
我的意思是这样的:
class Foo {
bool prop;
public bool MyProp
{
get { return prop; }
set {
prop = value;
OnPropertyChanged(thismember);
}
}
}
'thismember' 是自动引用 System.Reflection.PropertyInfo 或 System.Reflection.MemberInfo 类型的调用属性 ('MyProp') 的东西?
在 prism 的 BindableBase 中有接近你想要的东西:
protected virtual bool SetProperty<T>(ref T storage, T value, [CallerMemberName] string propertyName = null)
{
if (object.Equals((object) storage, (object) value))
return false;
storage = value;
this.OnPropertyChanged(propertyName);
return true;
}
它允许你做:
public bool MyProp
{
get { return prop; }
set {
SetProperty(ref prop, value);
}
}
当然,您的 View 模型需要从 bindablebase 派生。
我是一名优秀的程序员,十分优秀!