如何获取字符串名称的名称而不是字符串的值
string MyString = "";
Response.Write(MyString.GetType().Name);//Couldn't get the string name not the value of the string
结果应显示字符串名称“MyString”
我找到了一些建议的代码并重写它以缩短它但仍然不喜欢它。
static string VariableName<T>(T item) where T : class
{
return typeof(T).GetProperties()[0].Name;
}
Response.Write(VariableName(new {MyString})); 我正在寻找另一种方法,使其缩短如下,但没有如何使用转换当前类,所以我可以在同一行使用它们
Response.Write( typeof(new { MyString }).GetProperties()[0].Name);
答案 0 :(得分:0)
虽然Marcelo的回答(以及与“重复”问题的关联)将解释如何做你正在做的事情,但快速解释为什么你的代码不起作用。
GetType()
完全按照说法执行:它获取调用它的对象的Type
。在您的情况下,它将返回System.String
,这是您的变量 Type
引用的对象的MyString
。因此,您的代码实际上会打印.Name
的{{1}},而不是变量的名称(这是您真正想要的。)