デリゲートされたメソッドを一度だけ/モルで一度だけ呼び出すことはどのように可能ですか?
MyClass.AllInstances.ResultateGet = delegate { return new ResultatInfoCollection(); };
メソッド "ResultateGet" を 1 回だけ呼び出したいのは、init がデリゲートなしで初めて非常に複雑になるためです。
target.UpdateResultate(); //calls delegate "ResultateGet"
//Assert some stuff
target.Verify(); //needs original function "ResultateGet" so unit test is useful
私は一般的に、デリゲートではなく元の関数が呼び出される前に、モルデリゲートを1回または特定の回数呼び出す方法に興味があります。
更新: 少し面倒な方法を見つけました。より良い解決策はありますか?
ResultatInfoCollection x = new ResultatInfoCollection();
MolesContext.ExecuteWithoutMoles(() => x = target.Resultate);