我有一个称为图的对象。

我在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/

10-12 22:43