正在阅读:C# 最强大的功能--泛型简介C# 最强大的功能--泛型简介

2005-06-23 10:16 出处: 作者:Juval Lowy 责任编辑:moningfeng

您还可以将 Activator.CreateInstance() 与一般类型一起使用:

Type serverType = typeof(MyServer);
MyServer obj;
obj = (MyServer)Activator.CreateInstance(serverType);
//Use obj



实际上,Activator 还提供 CreateInstance() 的一般版本,定义如下:

T CreateInstance();



CreateInstance() 的使用方式类似于非一般方法,只是添加了类型安全的好处:

Type serverType = typeof(MyServer);
MyServer obj;
obj = Activator.CreateInstance(serverType);
//Use obj



泛型无法完成的工作

在 .NET 2.0 下,您不能定义一般 Web 服务,即使用一般类型参数的 Web 方法。原因是没有哪个 Web 服务标准支持一般服务。

您还不能在服务组件上使用一般类型。原因是泛型不能满足 COM 可见性要求,而该要求对于服务组件而言是必需的(就像您无法在 COM 或 COM+ 中使用 C++ 模板一样)。


小结
C# 泛型是开发工具库中的一个无价之宝。它们可以提高性能、类型安全和质量,减少重复性的编程任务,简化总体编程模型,而这一切都是通过优雅的、可读性强的语法完成的。尽管 C# 泛型的根基是 C++ 模板,但 C# 通过提供编译时安全和支持将泛型提高到了一个新水平。C# 利用了两阶段编译、元数据以及诸如约束和一般方法之类的创新性的概念。毫无疑问,C# 的将来版本将继续发展泛型,以便添加新的功能,并且将泛型扩展到诸如数据访问或本地化之类的其他 .NET Framework 领域。
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品