本文介绍了得到一个变量或参数的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可能重复:结果
Finding变量名称传递给函数在C#
我想获得一个变量或参数的名称:
I would like to get the name of a variable or parameter:
例如,如果我有:
var myInput = "input";
var nameOfVar = GETNAME(myInput); // ==> nameOfVar should be = myInput
void testName([Type?] myInput)
{
var nameOfParam = GETNAME(myInput); // ==> nameOfParam should be = myInput
}
我
如何能做到在C#?
How can I do it in C#?
推荐答案
您可以使用它来得到任何提供部件的名称:
Pre C# 6.0 solution
You can use this to get a name of any provided member:
public static class MemberInfoGetting
{
public static string GetMemberName<T>(Expression<Func<T>> memberExpression)
{
MemberExpression expressionBody = (MemberExpression)memberExpression.Body;
return expressionBody.Member.Name;
}
}
要得到一个变量的名称:
To get name of a variable:
string testVariable = "value";
string nameOfTestVariable = MemberInfoGetting.GetMemberName(() => testVariable);
要获得一个参数的名称:
To get name of a parameter:
public class TestClass
{
public void TestMethod(string param1, string param2)
{
string nameOfParam1 = MemberInfoGetting.GetMemberName(() => param1);
}
}
C#6.0和更高的解决方案
您可以使用运营参数,变量和属性的一致好评:
C# 6.0 and higher solution
You can use the nameof operator for parameters, variables and properties alike:
string testVariable = "value";
string nameOfTestVariable = nameof(testVariable);
这篇关于得到一个变量或参数的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!