7

我有变量

public string MyVariable;

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

var a = MyVariable.NameVariable();
// a = "MyVariable"

我该怎么做?

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

public const string FieldIdRules = "idRules"

然后在关系 samonapisannom profiler 中进行交易。我看到Hibernate不需要指定文本值(对于字段的比率)。我想实现相同的。

对不起我的英语不好

4

2 回答 2

2

哈克的方法,你可以通过Expression

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

string name = (expression.Body as MemberExpression).Member.Name;
于 2013-02-27T04:25:53.350 回答
1

如果您可以按名称访问变量,则您已经有了它的名称,因此请键入"MyVariable"

如果您已重新分配它,这是不可能的。值不会在某处保留变量名称的历史记录。


因此,为了处理字段到列的映射,我建议使用Dictionary. 反射是一种可能性,但对于像这样的简单任务来说,反射是不必要的复杂。

于 2013-02-27T04:01:39.220 回答