我可以访问具有该集合集合的类吗?

时间:2014-06-25 08:17:17

标签: c# collections

我有一个A类,它有一个B类的集合。是否可以从该集合中B类的实例访问A类?

Class A
{
    public string Something { get; set; }
    List<B> collection = new List<b>();
    public void Add(B b)
    {
        collection.Add(b);
    }
}

Class B
{
    public int Num { get; set; }
}

static void Main(string[] args)
{
    B b = new B();
    b.Num = 5;

    A a = new A();
    a.Something = "Hello";
    a.Add(b);
}

有没有办法从对象b访问字符串a.Something?

3 个答案:

答案 0 :(得分:0)

通过以下更改,可以;但要注意它根本没有意义。

Class A
{
    public string Something { get; set; }
    List<B> collection = new List<b>();
    public void Add(B b)
    {
        b.Master = this;
        collection.Add(b);        
    }
}

Class B
{
    public A Master {get; set;}
    public int Num { get; set; }
}

static void Main(string[] args)
{
    B b = new B();
    b.Num = 5;

    A a = new A();
    a.Something = "Hello";
    a.Add(b);
    Console.Writeline(b.Master.Something);
}

答案 1 :(得分:0)

B需要包含对其容器A的引用。所以......似乎:

Class B
{
    public int Num { get; set; }
    public A Container { get; set; }
}

然后在A:

中的Add()方法中
public void Add(B b)
{
        collection.Add(b);
        b.Container = this;
}

假设B只能添加到A的单个实例中。否则您需要使用集合(例如List)并在添加/删除时相应地更新它。

答案 2 :(得分:-1)

Is there any way to access string a.Something from object b?

NO。你可以&#39; T。