![]() |
1
0
早期绑定 早期绑定 例子:
上面的代码创建了一个变量FS来保存一个新对象,然后将一个新对象分配给该变量。在这里,在运行时执行变量之前,类型是已知的。FileStream是一种特定的对象类型,分配给FS的实例是早期绑定的。 在执行早期绑定时,编译器可以确保在编译时该函数将存在并在运行时可调用。此外,编译器保证函数采用的参数数量准确,类型正确,并且可以检查返回值的类型是否正确。 后期绑定 相反,在后期绑定函数中,只在运行时检测和检查方法、变量和属性。这意味着编译器直到运行时才知道对象的类型或实际类型,或者对象包含的方法或属性。后期绑定的最大优点是,这种类型的对象可以保存对任何对象的引用,但缺少早期绑定对象的许多优点。 例子:
注意我们如何使用 风险值 为了保持对ETABS对象的引用,var基本上是一种语法糖,它从被分配的对象推断对象类型。现在,而不是使用 你可以用一个 保持对象的引用。 虽然执行后期绑定,但目标函数可能不存在。此外,目标函数可能不接受传递给它的参数,并且可能具有错误类型的返回值。
|
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |