获取类中类实例的实例名称

时间:2011-05-07 13:17:57

标签: c# class

我有一个类foo:

    class Foo
    {

    }

我已将实例初始化为

    Foo _bar =new Foo();

如何在类Foo中获取变量的名称(_bar用于此问题)?

2 个答案:

答案 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
}
}