【发布时间】:2014-09-14 09:48:34
【问题描述】:
我正在寻找如何获取变量的编译时间类型以进行调试。
测试环境可以简单的复制如下:
object x = "this is actually a string";
Console.WriteLine(x.GetType());
这将输出System.String。我怎么能在这里得到编译时类型System.Object?
我查看了System.Reflection,但对它提供的可能性感到迷茫。
【问题讨论】:
-
不能用var代替object吗?
-
@DarrenYoung
var是类型推断的语法糖,以避免在局部变量声明中指定类型,它没有语义差异,也没有在运行时显示任何内容。 -
@DarrenYoung 他愿意 - 他希望在运行时显示变量类型,而不是变量值类型。
-
我把他的问题读作“变量的类型,而不是变量所持有的对象的类型”。
-
@DarrenYoung 不,我相信他问的是如何在 run-time 中查看编译器在第 1 行看到的类型,而不是实际存储在变量中的内容运行时。
标签: c# .net types compile-time object-type