简介
C# 中的 dynamic 是一种特殊类型,它允许在运行时确定对象的类型和成员,而不是在编译时。
dynamic 的定义
-
dynamic是一种类型,它告诉编译器对其进行“动态类型解析”。 -
dynamic类型的变量会跳过编译时类型检查,所有的操作会推迟到运行时进行。 -
适合处理未知类型的对象,或需要与动态语言(如
Python、JavaScript)互操作的场景。
dynamic 的使用
动态类型赋值
dynamic obj = 10; // 可以是整数
obj = "Hello"; // 可以变成字符串
obj = new {
Name = "John", Age = 30 }; // 也可以是匿名类型
访问成员
动态对象的成员在运行时解析,因此可以访问任意成员:
如果访问了不存在的成员,运行时会抛出
RuntimeBinderException。
dynamic obj = new {
Name = "John", Age = 30 };
Console.WriteLine(obj.Name); // 输出: John
动态方法调用
dynamic math = new {
Add = (Func<int, int, int>)((x, y) => x + y) };
Console.WriteLine(math.Add(2, 3));

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



