访问列表所属类中的字段
本文关键字:字段 列表 访问 | 更新日期: 2023-09-27 18:25:39
假设我有以下类:
class Shape
{
public int widht;
public List<Point> points;
}
在Point类中,我想使用Shape类中的这个widght属性,所以如果"Point"属于该列表,我希望有可能使用"container"属性。我还想序列化类Shape,所以我不认为我可以使用带参数的构造函数。
编辑:我会说它在我的应用程序中的样子:我有类设备
class Device
{
string connection;
List<Task> tasks;
}
和任务
class Task
{
void DoTask()
{
and here i need the connection
}
}
所以我只喜欢先做,然后foreach(任务中的任务)任务。DoTask(),但我必须传递额外的类似"this"的任务。DoTask(this)或我认为如果允许的话,我应该访问我的容器的连接。
对象的"所有者"没有一般概念。毕竟,相同的Point
引用可能出现在几个地方。想要这样做通常意味着设计的味道。如果您需要向Point
对象提供更多信息,则可能是在使用执行时,所以请将该信息传递给适当的方法。
最简单的方法之一是在这两者之间建立显式关联。例如:
public class Point {
Shape shape;
public Point( Shape shape ) {
this.shape = shape;
}
}
在这个特定的实现中,每个点都指向单个形状。当然,您也可以从点类中访问形状属性。
如果你能控制它,序列化应该不是问题。