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