当C#中发生早期/晚期绑定时,我想尽我所能。
非虚拟方法始终是早期约束。虚拟方法总是晚绑定的:编译器插入额外的代码来解析在执行时绑定到的实际方法,并检查类型安全性。因此,亚型多态性使用后期绑定。
使用反射的调用方法是后期绑定的一个示例。我们编写代码来实现此目的,而不是编译器。(例如,调用COM组件。)
关闭Option Strict时,VB.NET支持隐式后期绑定。将对象分配给声明为Object类型的变量时,该对象将被后期绑定。VB编译器在执行时插入代码以绑定到正确的方法并捕获无效的调用。C#不支持此功能。
我朝着正确的方向前进吗?
通过接口引用调用委托和调用方法呢?是早期绑定还是后期绑定?