Ответ 1
Вы делаете это, проверяя, имеет ли экземпляр тип IDynamicMetaObjectProvider
, или вы можете проверить, реализует ли тип IDynamicMetaObjectProvider
.
У меня есть класс ObjectMapper<T>
. Есть ли способ в .NET 4.0 сказать, что typeof(T)
есть dynamic
? Я хочу иметь возможность определять внутри метода-члена, был ли класс инициализирован как new ObjectMapper<dynamic>()
vs. new ObjectMapper<SomeConcreteClass>()
.
Вы делаете это, проверяя, имеет ли экземпляр тип IDynamicMetaObjectProvider
, или вы можете проверить, реализует ли тип IDynamicMetaObjectProvider
.
Нет типа CLR, называемого dynamic
. Компилятор С# делает все динамические значения типа object
, а затем вызывает код пользовательского привязки, чтобы выяснить, как с ними справиться. Если был использован dynamic
, он будет отображаться как object
.