【发布时间】:2019-08-30 12:28:28
【问题描述】:
我正在尝试获取类变量名
static void Main()
{
TaskAction m_first = new TaskAction();
m_first.Increment();
m_first.Increment();
TaskAction m_Second = new TaskAction();
m_Second.Increment();
}
public class TaskAction
{
private int m_Current;
public TaskAction()
{
m_Current = 0;
}
public void Increment()
{
m_Current++;
write(" TaskAction " + vairableName + " " + m_Current);
}
}
我想把它写出来:
TaskAction m_first 1
TaskAction m_first 2
TaskAction m_second 1
【问题讨论】:
-
不能,变量名不会编译到程序集中。一个更大的问题:你为什么要这样做?
-
你不能从
TaskAction类内部执行此操作。 -
你不能这样做吗?您要解决的问题是什么?
-
试图改进日志系统
-
为什么不将变量名称作为参数提供给
TaskActon的构造函数?顺便说一句:当用户使用new TaskAction().Increment()时,你会期待什么?那么正在创建的实例甚至根本没有分配给变量,所以在这里获取名称是没有意义的。
标签: c# reflection