私は次の方法を使用しています:
public void M1(Int32 a)
{
// acquire MyMutex
DoSomething(a);
// release MyMutex
}
と
public void M2(String s, String t)
{
// acquire MyMutex
DoSomethingElse(s, t);
// release MyMutex
}
私がこれまでに発見したことから、署名が異なる 2 つのメソッドに対して単一のデリゲートを使用することはできないようです。
このようなものを書くための他の選択肢はありますか:
public void UsingMutex(...)
{
// acquire MyMutex
...
// release MyMutex
}
UsingMutex(M1);
UsingMutex(M2);
現時点で考えられるのは、2 つのデリゲートとブール値フラグを使用して、どのデリゲートを呼び出すかを知ることだけですが、それは長期的な解決策ではありません。
ジェネリックとデリゲートを組み合わせることは可能ですか? もしそうなら、あらゆる種類のドキュメントへのリンクはありますか?
環境: C# 2.0