У меня есть метод, который получает в основном объект dynamic
. Это связано с динамической диспетчеризацией, и не стоит обсуждать, почему у меня есть вход dynamic
.Динамический объект: Получить общий тип и предоставить его другому методу
Я знаю, что этот объект dynamic
представляет собой тип ASpecialClass<T>
, где T неизвестно во время компиляции. Есть ли способ извлечь тип T
и передать его другому методу?
Как:
public void DoSomething(dynamic inputObject)//At this point, I know that it implements ASpecialClass<T>, but I don't know what is the T type
{
extracType(InputObject);
CallOtherMethod<With_the_extracted_Type>(inputObject);
}
Там две вещи здесь:
- Есть ли способ извлечь тип
T
параметра? - Возможно ли вернуть его другому способу, который является общим?
Спасибо
Я нашел эти два ответы уже на SO - надеюсь, что они помогут: http://stackoverflow.com/questions/7362532/get-the-type-for-a-object-declared-dynamic и http://stackoverflow.com/questions/1408120/how -to-call-generic-method-with-a-given-type-object. –