ОК, я надеюсь, что название этого вопроса имеет смысл. В моем приложении у меня есть некоторые методы, которые должны быть вызваны специальным InvokeMethod. На данный момент, это работает так:Лучшая (общая) декларация делегатов Func
internal bool RemoteLogin(string password)
{
return (bool)InvokeMethod(new Func<string, bool>(Server.RemoteLogin), password);
}
internal string GetSessionId()
{
return (string)InvokeMethod(new Func<string>(Server.GetSessionId));
}
public object InvokeMethod(Delegate method, params object[] args)
{
return method.DynamicInvoke(args);
}
Для вызова InvokeMethod я должен пройти новый Func < ....>, добавьте параметр (ы), а также, возвращаемое значение соответствующего типа. Есть ли лучший (более общий) способ сделать это, например, используя Generics или Reflection?
Любая помощь очень ценится.
Почему бы вам просто не вызвать методы напрямую? Зачем вообще использовать Delegate.DynamicInvoke? –
В моем примере выше метод InvokeMethod упрощен. В моем приложении он выполняет журнал, мониторинг, обработку исключений и т. Д. Вызова. – Mike