Получить общий тип вызова метода в динамическом объекте

Я начинаю работать с динамическими объектами в .Net и не могу понять, как что-то сделать.

У меня есть класс, унаследованный от DynamicObject, и я переопределяю метод TryInvokeMember .

например,

class MyCustomDynamicClass : DynamicObject
{
    public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result)
    {
        // I want to know here the type of the generic argument
    }
}

И внутри этого метода я хочу знать тип (если есть) общих аргументов в вызове.

например Если я вызываю следующий код, я хочу получить значение System.Boolean и System.Int32 внутри переопределенного метода моего динамического объекта

dynamic myObject = new MyCustomDynamicClass();
myObject.SomeMethod<bool>("arg");
myObject.SomeOtherMethod<int>("arg");

В настоящее время, если я помещаю точку останова внутри переопределенного метода, я могу получить имя метода вызывается ("SomeMethod" и "SomeOtherMethod", а также значения аргументов, но не общие типы).

Как я могу получить эти значения?

Спасибо!

15
задан willvv 30 March 2011 в 21:04
поделиться