Tag: 后期绑定

早期和晚期的约束力

当C#中的早/晚绑定发生时,我试图让我的头脑发生变化。 非虚方法总是早绑定的。 虚拟方法总是迟到:编译器插入额外的代码来parsing在执行时绑定的实际方法,并检查types安全性。 所以亚型多态使用后期绑定。 使用reflection调用方法是后期绑定的一个例子。 我们编写代码来实现这一点,而不是编译器。 (例如调用COM组件。) VB.NET在Option Strictclosures时支持隐式后期绑定。 当一个对象被赋值给一个被声明为Objecttypes的variables时,这个对象是延迟绑定的。 VB编译器插入代码以在执行时绑定到正确的方法,并捕获无效的调用。 C#不支持此function。 我正朝着正确的方向走吗? 那么调用委托并通过接口引用调用方法呢? 这是早期还是晚期的约束?