Roy*_*mir 4 .net c# dynamic-data
我写了一些代码:
public static object func()
{
return new { a = 1, b = 2 };
}
Console.WriteLine((func() as dynamic).a); //returns '1'.
Run Code Online (Sandbox Code Playgroud)
如果我能做到:func() as dynamic那么动态应该是某种引用类型/类.
我寻找它的类型但找不到任何(通过反射器).
它的类型是什么?(参考类型)?
您可以正常通过GetType()获取类型.
这是一种匿名类型,它是一种通用类型(作为实现细节).该类型的名称在c#中故意不可发音.
如果你查看反射器,可能会有一个内部泛型类型,以2结尾(表示2个泛型类型参数),分别有第一个和第二个泛型类型参数的两个属性"a"和"b".它是一个类,所以是引用类型.
作为一个说明:
new { a = true, b = 123.45 }
Run Code Online (Sandbox Code Playgroud)
实际上会使用相同的泛型类型但具有不同的泛型类型参数.
也; 使用dynamic不会更改对象 - 它只会更改对象的访问方式.