c# - 在 C# 中获取对 "thismember"的引用

标签 c# reflection

有没有办法在 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 派生。

关于c# - 在 C# 中获取对 "thismember"的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29197478/

相关文章:

c# - 我可以从同一列中选择多个值吗

c# - 突然,DotNetOpenAuth 返回 (400) Bad Request

javascript - 使用 jquery 和 web api 返回未定义的值

Java `illegal access operations` 方法将被弃用?

c# - 如何区分类型 : Int32[] & Int32[*]?

c# - 使用反射计算代码行数的简单方法

c# - 有哪些方法可以实现动态数组?

c# - C# 到 Java 的翻译代码正确吗?

java - 如何在 Mockito 中 stub 一个直到运行时才知道名称的方法?

java - 如何发现传递给方法的对象的变量名