次のように偽装するにはどうすればよいでしょうか。
public interface IBlah
{
Func<T, bool> ApplyFilter<T>(Func<T, bool> predicate) where T:IMessage;
}
私が望むのは、偽物が何も変更せずに引数を返すことです。ただし、偽物が 1 回だけ呼び出されたことを確認したいと思います。使用例を以下に示します。
public class Something
{
public Something(IBlah blah) { _blah = blah; }
public bool DoSomething(SomeValue m, Func<SomeValue, bool> predicate)
{
Func<SomeValue, bool> handler = _blah.ApplyFilter(predicate);
return handler(m);
}
}
つまり、偽物はパススルーとして機能する必要がありますが、それが使用されたことを確認できる必要もあります。
これについて最善の方法は何ですか?
[不自然な例について心配しないでください...裏では多くのことが行われていますが、上の例に簡略化しました。]