gpt4 book ai didi

c# - 获取动态类型的类类型?

转载 作者:太空狗 更新时间:2023-10-30 00:56:12 24 4
gpt4 key购买 nike

我写了一些代码:

    public static object func()
{
return new { a = 1, b = 2 };
}

Console.WriteLine((func() as dynamic).a); //returns '1'.

如果我能做到:func() as dynamic 那么 dynamic 应该是某种引用类型/类。

我寻找它的类类型但找不到任何(通过反射器)。

它的类型是什么? (引用类型)?

最佳答案

您可以像往常一样通过 GetType() 获取类型。

这是一个匿名类型,它是(作为实现细节)泛型类型的一种形式。类型的名称在 c# 中故意不发音。

如果您查看反射器,可能在某处以 '2 结尾的内部泛型类型(表示 2 个泛型类型参数),第一个和第二个泛型类型参数分别具有两个属性“a”和“b” .它是一个类,因此是一个引用类型。

注意:

new { a = true, b = 123.45 }

实际上会使用相同的通用类型,但具有不同的通用类型参数。

还有;使用 dynamic 不会更改 object - 它只会更改它的访问方式。

关于c# - 获取动态类型的类类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8260291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com