1
0
早期绑定 早期绑定 例子:
上面的代码创建了一个变量FS来保存一个新对象,然后将一个新对象分配给该变量。在这里,在运行时执行变量之前,类型是已知的。FileStream是一种特定的对象类型,分配给FS的实例是早期绑定的。 在执行早期绑定时,编译器可以确保在编译时该函数将存在并在运行时可调用。此外,编译器保证函数采用的参数数量准确,类型正确,并且可以检查返回值的类型是否正确。 后期绑定 相反,在后期绑定函数中,只在运行时检测和检查方法、变量和属性。这意味着编译器直到运行时才知道对象的类型或实际类型,或者对象包含的方法或属性。后期绑定的最大优点是,这种类型的对象可以保存对任何对象的引用,但缺少早期绑定对象的许多优点。 例子:
注意我们如何使用 风险值 为了保持对ETABS对象的引用,var基本上是一种语法糖,它从被分配的对象推断对象类型。现在,而不是使用 你可以用一个 保持对象的引用。 虽然执行后期绑定,但目标函数可能不存在。此外,目标函数可能不接受传递给它的参数,并且可能具有错误类型的返回值。
|
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |
randomDud · C#从另一个接口重写接口方法 2 年前 |
evilsushi · C#接口不允许成员类满足要求 6 年前 |