1

(不要な混乱を取り除きました)

編集 1

私の質問はあまり明確ではないようです... ああ... :)

そう ....

これを書く方法:

instance.Method(e => OtherClass.Fill(e, instance2.A, instance3.B));

このようなもので:

instance.Method(new Action<IDataReader>(OtherClass.Fill));

「メソッド」署名が次の場合:

void Method(Action<IDataReader> reader)

「塗りつぶし」署名は次のとおりです。

void Fill(IDataReader reader, string a, string b);

アップデート

代替の実装を 1 つ考え出しましたが、それでもデバッガーがその Fill 呼び出しにステップ インします。ラムダ表記はもうありませんが、まだ介入しているようです...

instance.Method(delegate(IDataReader e) { OtherClass.Fill(e, instance2.A, instance3.B); });

解決

デリゲートから呼び出される追加のメソッドが1つだけ必要なようで、そのメソッドは呼び出しを次のメソッド(Fill)にさらに2つのパラメーターで渡します。

instance.Method(this.Foo);

[DebuggerStepThrough()]
private void Foo(IDataReader reader)
{
    OtherClass.Fill(reader, this.instance2.A, this.instance3.B)
}
4

1 に答える 1