C# 动态绑定

5 Sept 2024 | 2 分钟阅读

C# 中的 dynamic 关键字用于使属性或方法动态化。当我们使用动态类型时,编译器不会在编译时进行检查。编译器仅在运行时进行检查。

使用动态绑定的目的是避免编译时代码检查。

使用 dynamic 关键字创建的属性就像 object 一样工作。动态变量会被编译成 object 类型的变量,并且只在编译时存在,在运行时不存在。

dynamic 和 object 的类型是相似的。我们可以使用以下代码进行检查。

C# 动态绑定示例 1

输出

System.Int32
System.Int32

现在,让我们操作这两个对象,看看工作差异。

C# 动态示例 2

现在,由于 object v1,这会产生一个编译时错误。动态对象在编译时不会进行检查,因此在编译时不会产生任何错误。

输出

DynamicExample.cs(13,18): error CS0019: Operator '+' cannot be applied to operands of type 'object' and 'int'

动态属性和方法

在以下示例中,我们正在创建动态属性和方法。

C# 动态绑定示例

输出

Peter
Welcome to the javatpoint