C# 内部类访问
本文关键字:访问 内部类 | 更新日期: 2023-09-27 18:32:33
在 WPF 中,当我将列表绑定到 DataGrid 并且 DataContext = new A();
class A
{
int x;
List<B> list;
class B
{
B()
{
// want to use x here, but i can't
}
}
}
请提出一些建议
无法访问它的原因是您无法直接从内部类访问类的实例变量。想一想;类 B 的实例如何知道使用类 A 的哪个实例来读取变量 X 的值?
为了访问它,您需要向 B 的 ctor 提供类 A 的实例。执行此操作的另一种方法(如果它适合您的场景)是将 x 设为静态,但我一般不建议这样做。
有关示例,请参阅以下内容:
class A
{
int x;
List<B> list;
class B
{
B(A instance)
{
// Access x here using A.x;
}
}
public void AddToList()
{
list.Add(new B(this));
}
}