Тьфу, вы правы, хотя m_typeArguments работает, он возвращает тип, отличный от версии этого свойства, поэтому я удалил пример приведения интерфейса к утке.
инаю работать с динамическими объектами в .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», а также значения аргументов, но не универсальные типы).
Как я могу получить эти значения?
Спасибо!