如何在.NET 4.0中检查泛型参数是否是动态的

Dmi*_* S. 11 c# .net-4.0

我上课了ObjectMapper<T>..NET 4.0中是否有任何方法可以判断是否typeof(T)存在dynamic?我希望能够在成员方法中确定该类是否已初始化为new ObjectMapper<dynamic>()vs new ObjectMapper<SomeConcreteClass>()..

Gab*_*abe 10

没有调用CLR类型dynamic.C#编译器生成所有类型的动态值,object然后调用自定义绑定代码以确定如何处理它们.如果dynamic使用,它将显示为Object.

  • C#团队认为哪个IMO是一个可怕的设计决策,因为C#现在进入Java-land,而Reflection无法做一些事情.使用modopt而不是属性将是一个更好的选择. (2认同)

Ste*_*ven 4

您可以通过检查实例是否属于类型来执行此操作IDynamicMetaObjectProvider,或者可以检查该类型是否实现了IDynamicMetaObjectProvider.