gpt4 book ai didi

c# - 在 C# 中获取 x 的静态类型?

转载 作者:太空宇宙 更新时间:2023-11-03 17:21:38 25 4
gpt4 key购买 nike

我有这样的类结构:

class A     {   }
class B:A { }

A x = new B();

这是运行时类型:

x.GetType(); //B

我怎样才能得到它的编译时间类型?

我试过 typeof (x) - 但参数必须是一个类型...

我想要的答案是:A

编辑

我为什么要问这个?

因为我认为 int 是通过 polymorphic 引擎初始化的:

是这样的:

object myInd = new Int32(); / /this DOES compile 

我想验证我的假设:

它来自对象吗?

为了做到这一点——我必须知道它的静态类型....

最佳答案

您可以创建一个泛型方法:

Type StaticTypeOf<T>(T t)
{
return typeof(T);
}

调用它:

object i = 1;

// Writes out System.Object
Console.WriteLine(StaticTypeOf(i).ToString());

这是一个解决方案 - 尽管我看不到解决方案解决的问题是什么 ;-)

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

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