C#变量名到字符串

use*_*747 7 c#

我有变数

public string MyVariable;
Run Code Online (Sandbox Code Playgroud)

我需要使用变量名作为字符串.例:

var a = MyVariable.NameVariable();
// a = "MyVariable"
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

我想创建你的miniORM(NHibernate太重了,需要一个单独的库).目前问题是我必须指出一堆常量.例如:

public const string FieldIdRules = "idRules"
Run Code Online (Sandbox Code Playgroud)

然后在samonapisannom profiler中进行交易.我看到Hibernate不需要指定文本值(对于字段的比例).我想实现同样的目标.

对不起我的英文不好

cuo*_*gle 2

Hacky 方法,您可以通过以下方式获得Expression

string myVariable = string.Empty;
Expression<Func<object>> expression = () => myVariable;

string name = (expression.Body as MemberExpression).Member.Name;
Run Code Online (Sandbox Code Playgroud)