Я использую следующие методы:
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
}
Из того, что я нашел до сих пор, кажется, что невозможно использовать один делегат для двух методов с разными сигнатурами.
Есть ли другие альтернативы, чтобы написать что-то вроде этого:
public void UsingMutex(...)
{
// acquire MyMutex
...
// release MyMutex
}
UsingMutex(M1);
UsingMutex(M2);
Все, что я могу представить на данный момент, - это использовать двух делегатов и логический флаг, чтобы узнать, какого делегата вызывать, но это не долгосрочное решение.
Можно комбинировать дженерики с делегатами? И если да, есть ли у вас ссылки на документацию любого типа?
Среда: С# 2.0