.NET 中的泛型反射与特性使用
1. 函数调用性能
在评估不同的技术时,性能是一个重要的标准。在调用方法时,有多种解决方案,从简单的方法调用到更复杂的动态调用。一般来说,与编译时绑定的简单调用应该比运行时绑定的方法更快。不过,性能的差异在不同的应用场景中影响不同。在基于用户界面的应用程序中,偶尔损失几纳秒的时间可能不会有什么影响;但在服务器应用程序中,如果这种损失被数千个用户放大,就可能会出现问题。
2. 反射与泛型
在 .NET Framework 2.0 中,反射得到了扩展,以支持开放和封闭的泛型方法和类型。 Type 类是适应泛型类型所做更改的核心。对于泛型方法, MethodInfo 类也得到了改进,以反映这些方法。
- 开放类型 :是带有未绑定类型参数的泛型类型。
- 封闭类型 :是具有绑定类型参数的泛型类型。
通过反射,可以遍历绑定和未绑定的参数,创建泛型类型的实例,并在运行时调用泛型方法。
3. IsGeneric 和 IsGenericTypeDefinition 属性
借助反射,可以了解方法的泛型类型状态。
-
Type.IsGeneric:一个布尔属性,用于确认是否存在泛型类型。 -
Type.IsGenericTypeDefinition:另一个布尔属性,用于指示泛型是开放的还是封
超级会员免费看
订阅专栏 解锁全文

3361

被折叠的 条评论
为什么被折叠?



