C # RealProxy: общие методы?

Я пытаюсь обработать вызов универсального метода через RealProxy , но я не могу найти информацию о фактическом типе универсального параметра, используемого в перехваченном методе вызов. Отрывок из кода:

    public override IMessage Invoke(IMessage msg)
    {
        ...
        string methodName = (string)msg.Properties["__MethodName"];
        Type[] parameterTypes = (Type[])msg.Properties["__MethodSignature"];
        object[] args = (object[])msg.Properties["__Args"];

        MethodInfo method = typeToProxy.GetMethod(methodName, parameterTypes);
        ...

Допустим, я проксирую интерфейс вроде

interface IFactory
{
   TService Create<TService>()
}

. Когда я вызываю прокси

proxied.Create<MyClass>()

, я хочу узнать, что общий параметр имеет тип MyClass . Возможно ли это через RealProxy ?

5
задан Igor Brejc 31 October 2010 в 07:11
поделиться