C#:有没有办法访问私有的getter和setter?

时间:2016-11-07 16:39:21

标签: c# oop private

我是C#的新手,我只是想知道是否有办法访问getter和setter。

这是一个示例代码:

public class Foo
{
  private AnotherClass _here;
  private bool Bar
  {
    get{return _here.GetAnswer();}
    set(return _here.SetAnswer(value);)
  }
}

我知道c#中有反射功能,但据我所知,它只执行私有变量。

另外,我一直在尝试这段代码:

public void func()
{

  MethodInfo privMethod = Foo.GetType().
                        GetMethod("Bar", BindingFlags.NonPublic | BindingFlags.Instance);

  object fff = privMethod.Invoke();

}

但它不起作用。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

PropertyInfo property = typeof(Foo).GetProperty("Bar", BindingFlags.Instance | BindingFlags.NonPublic);
MethodInfo getMethod = property.GetGetMethod(true);
MethodInfo setMethod = property.GetSetMethod(true);