专用访问器无法访问专用成员



在我的类中,为了进行测试,我有一个私有布尔实例变量和一个访问它的方法:

MyClass()
{
    private volatile bool b;
    public MyMethod()
    {
         b = false;
    }
}

在为方法创建单元测试之后

[TestMethod()]
public void MyMethodTest()
{
      PrivateObject param0 = new PrivateObject(new MyClass());
      MyClass_Accessor target = new MyClass_Accessor(param0);
      target.b = false;
}

我得到这个错误:

Property, indexer, or event 'property' is not supported by the language; try directly
calling accessor method 'accessor_taketh' 'accessor_giveth'

但是在accessor对象中没有这样的方法,取而代之的是

[Shadowing("b")]
public bool b{ get; set; }

为什么会出现错误呢?

这个呢:

 param0.SetField("b", false);

最新更新