在 VB.Net 中,我使用了它的一个变体,所以当使用 SearchModel 时,有一个空的标签列表可供使用。

Public Class SearchModel
    Public Property Tags As New List(Of TagDetails)
End Class

一个简单的转换结果是这样,但“标签”为空:
public class SearchModel
{
    public List<TagDetails> Tags { get; set; }
}

这是创建“标签”属性并同时创建新的空列表的可接受方式吗?
public class SearchModel
{
    public List<TagDetails> Tags = new List<TagDetails>();
}

还是我应该经历所有这些仪式?
public class SearchModel
{
  private List<TagDetails> _TagDetails;
    public List<TagDetails> Tags
    {
        get { return _TagDetails ?? (_TagDetails = new List<TagDetails>()); }
        set { _TagDetails = value; }
    }
}

最佳答案

传统的方法是使用构造函数:

public class SearchModel
{
    public SearchModel()
    {
        Tags = new List<TagDetails>();
    }
    public List<TagDetails> Tags { get; set; }
}

关于c# - 如何在 C# 中实例化属性的新实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12828854/

10-13 05:38