0

私のクラスでは、テストするために、プライベートブールインスタンス変数とそれにアクセスするメソッドがあります。

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; }

では、なぜエラーが発生するのですか?

4

1 に答える 1

2

これはどうですか:

 param0.SetField("b", false);
于 2013-01-06T13:16:36.680 に答える