21
2018
05

上网管理软件在C#项目中使用的控件

VisualBasic PowerPacks默认仅能用于VB开发人员,但C#开发人员也可以访问这些控件。要在C#项目中使用这些控件,只需要添加对PowerPacks程序集的引用,再把控件添加到Toolbox中。之后,就可以在任意Windows Forms应用程序中使用它们了。

在C#语言的这个版本中,只有两个新功能是用于与内置语言和动态语言相互操作的。

带动态查找功能的后期绑定:与其他语言/技术交互操作常常是比较痛苦的,尤其是动态语言,因为在动态语言中,事先并不总是知道类包含的方法。过去可以执行这些调用,但常常需要深入理解反射技术,甚至需要对同一个方法的多次调用。新的dynamic关键字允许后期绑定方法。

PublicMainForm()}

InitializeComponent();

DynamiclateBound=CreateDynamic();

lateBound.SimpleMethod();

}

PublicObject CreateDynamic(){

Returnnew MoreDynamic();

}

在这个代码示例中,CreateDynamic方法返回MoreDynamic对象,使用dynamic关键字声明lateBound对象,就可以调用SimpleMethod,就好像该方法在对象上已声明过了。没有这个关键字,就会调用静态类型检查器,抛出一个编译错误,因为没有在object上声明SimpleMethod(该对象从CreateDynamic中翻译,因此,lateBound变量的类型推断为object)。

使用dynamic关键字的一个问题是责任现在转嫁给开发人员,开发人员需要确保方法名、类型和参数个数正确,代码才能在运行时不失败。Dynamic关键字能有效地禁止在编译时检查静态类型,而是推迟到执行代码时再检查。


« 上一篇

相关文章:

评论列表: