我有一个称为图的对象。
我在Graph类中列出了顶点。因此,类看起来会像这样。它是.Net 2.0代码。
public class Graph
{
public List<Vertex> Vertices
{
get{ return _vertices}
}
} private List<Vertex> _vertices;
这是我的问题。我想先验证Vertex对象(通过调用Vertex.IsValid()方法),然后再将其添加到Graph对象。
最好的方法是什么?我喜欢在属性的getter块中添加代码的方式。有没有类似的方法?
我有解决方法,但想以最好的方式做到这一点。
最佳答案
最好的解决方案是不将顶点列表公开为可变列表。相反,如果需要Vertices
属性,请使其返回只读数据结构。然后,只需包含一个Add()
方法,并验证您想要的所有内容:
public ReadOnlyCollection<Vertex> Vertices
{
get { return _vertices.AsReadOnly(); }
}
public void Add(Vertex vertex)
{
if (vertex.IsValid())
_vertices.Add(vertex);
}
关于c# - 向property的属性添加功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7880197/