在我的类中,为了进行测试,我有一个私有布尔实例变量和一个访问它的方法:
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);