上篇介绍了.Net中绑定的故事背景,在文章的末尾引出了“早期绑定和后期绑定”,那么本文就针对.Net中的绑定做一个简单的介绍。
’后期绑定,其对象类型为Object Dim iu = createuser.ProduceUser '早期绑定,其对象类型为IUser Dim iu as IDAO.IUser=createuser.ProduceUser程序中变量的对象类型:
早期绑定我们一直再用,还记得VB中Variant(可变类型)吗,那是我们最早开始接触的一种后期绑定,现在我们在做机房时用到的泛型,其中也涉及到了后期绑定。
早期绑定:早期绑定对象比后期绑定对象快很多,并且能通过确切声明所用的对象种类使代码更易于阅读和维护。早期绑定的另一个优点是它启用了诸如自动代码完成和动态帮助等有用的功能,这是因为 Visual Studio 集成开发环境 (IDE) 可以在您编辑代码时准确确定您所使用的对象类型。由于早期绑定使编译器可以在编译程序时报告错误,所以它减小了运行时错误的数量和严重度。
后期绑定:后期绑定,则每次调用属性或方法时,Visual Basic 都要将成员名传给该对象 IDispatch 接口的 GetIDsOfNames 方法。GetIDsOfNames 返回该成员的派遣 ID,或 DispID。Visual Basic 再将该 DispID 传给 IDispatch 接口的 Invoke 方法来调用该成员。对进程外部件而言,这意味着一次额外的跨进程方法调用,结果是调用开销翻番。
原文:http://blog.csdn.net/mhj9388/article/details/45788775