我有一个类foo:
class Foo
{
}
我已将实例初始化为
Foo _bar =new Foo();
如何在类Foo中获取变量的名称(_bar
用于此问题)?
答案 0 :(得分:2)
_bar
不是该类实例的名称。它是包含对该实例的引用的变量的名称。实例并不知道哪些变量包含对它的引用,所以你想做的事情是不可能的。
如果您希望您的实例具有名称,则必须向您的班级添加属性,例如像这样:
class Foo
{
public string Name { get; set; }
}
并像这样使用它:
Foo bar = new Foo { Name = "baz" };
答案 1 :(得分:0)
你可以加入“Foo _bar = new Foo();”在另一个类中,然后通过反射找到它,然后通过反射再次在类Foo中设置一个elementname属性。
class Foo
{
public string ElementName {get; set;}
}
public class MyParent
{
Foo _bar =new Foo();
public MyParent()
{
//You can find Foo(s) here and then set ElementName of Each foo by reflection
}
}