我有一个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?
答案 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。