私人访问者不会访问私人会员

时间:2013-01-06 13:00:19

标签: c# visual-studio-2010 unit-testing private-members

在我的课堂上,为了测试,我有一个私有的布尔实例变量和一个访问它的方法:

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'

但是在访问者对象中没有这样的方法,而是

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

那么为什么我会收到错误?

1 个答案:

答案 0 :(得分:2)

这个怎么样:

 param0.SetField("b", false);