C#变量名到字符串
我有一个变量C#变量名到字符串,c#,C#,我有一个变量 public string MyVariable; 我需要使用变量名作为字符串。例如: var a = MyVariable.NameVariable(); // a = "MyVariable" 我该怎么做 我想创建你的迷你表单(NHibernate太重了,需要一个单独的库)。现在的问题是,我必须指出一些常数。例如: public const string FieldIdRules = "idRules" 然后在samonapisannom profiler中进行事务处理。
public string MyVariable;
我需要使用变量名作为字符串。例如:
var a = MyVariable.NameVariable();
// a = "MyVariable"
我该怎么做
我想创建你的迷你表单(NHibernate太重了,需要一个单独的库)。现在的问题是,我必须指出一些常数。例如:
public const string FieldIdRules = "idRules"
然后在samonapisannom profiler中进行事务处理。
我看到Hibernate不需要指定文本值(字段的比率)。我想实现同样的功能
对不起,我的英语不好如果您可以通过名称访问变量,那么您已经有了它的名称,因此请键入
“MyVariable”
如果您重新分配了它,这是不可能的。值不会在某个地方保留变量名的历史记录
因此,为了处理字段到列的映射,我建议使用
字典
。反射是一种可能性,但对于这样一个简单的任务来说,反射是不必要的复杂。黑客方法,您可以通过表达式获得:
string myVariable = string.Empty;
Expression<Func<object>> expression = () => myVariable;
string name = (expression.Body as MemberExpression).Member.Name;
string myVariable=string.Empty;
表达式=()=>myVariable;
字符串名称=(expression.Body作为MemberExpression).Member.name;
这个堆栈溢出答案可能会帮助您:谢谢Aaron Blenkush8,如果名称发生更改,它会在编译时告诉您。