在VB.Net中我使用了这个的变体,所以当使用SearchModel时,有一个空的Tag列表准备就绪.
Public Class SearchModel
Public Property Tags As New List(Of TagDetails)
End Class
Run Code Online (Sandbox Code Playgroud)
一个简单的转换导致这个,但"标签"为空:
public class SearchModel
{
public List<TagDetails> Tags { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是创建"Tags"属性并同时创建新的空列表的可接受方式吗?
public class SearchModel
{
public List<TagDetails> Tags = new List<TagDetails>();
}
Run Code Online (Sandbox Code Playgroud)
或者我应该参加这个仪式吗?
public class SearchModel
{
private List<TagDetails> _TagDetails;
public List<TagDetails> Tags
{
get { return _TagDetails ?? (_TagDetails = new List<TagDetails>()); }
set { _TagDetails = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
传统的方法是使用构造函数:
public class SearchModel
{
public SearchModel()
{
Tags = new List<TagDetails>();
}
public List<TagDetails> Tags { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在构造函数中实例化它:
public class SearchModel
{
public List<TagDetails> Tags { get; set; }
public SearchModel()
{
Tags = new List<TagDetails>();
}
public SearchModel(List<TagDetails> tagDetails)
{
Tags = tagDetails;
}
}
Run Code Online (Sandbox Code Playgroud)
我在C#中做到了这一点,因为你在C#中拥有大部分代码.您可以保持自动属性以这种方式执行.您还可以添加一个重载的构造函数,该构造函数包含要使用的列表(如果您不想要,请删除它).
| 归档时间: |
|
| 查看次数: |
300 次 |
| 最近记录: |