좋아,이 질문의 제목이 의미가되기를 바랍니다. 내 응용 프로그램에서 특별한 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);
}
매개 변수 (들)을 추가,> ... 나는 새로운 Func을을 < 통과해야 InvokeMethod를 호출하고도 적절한 형식으로 반환 값을 캐스팅하기 위해. 이를 수행하는 더 나은 (더 일반적인) 방법이 있습니까? 예를 들어 Generics 또는 Reflection을 사용하고 있습니까?
도움이 매우 감사합니다.
왜 메소드를 직접 호출하지 않습니까? 왜 Delegate.DynamicInvoke를 여기에서 사용합니까? –
위 예제에서 InvokeMethod 메서드는 단순화되었습니다. 내 애플 리케이션에서 로그, 모니터, 예외 처리 등의 호출 않습니다. – Mike