小编dvo*_*dvo的帖子

C#重写List <T>添加方法以检查列表是否为空

我想弄清楚这是否可行/使其正确运行的正确语法。null在属性级别添加新项目时,我想对列表进行检查,而不是null每次去列表中添加项目时都要进行检查。例如:

MyClass someClass = new MyClass()
{
    MyClassID = 1,
    Notes = null
};

//
//

Note newNote = new Note()
{
    NoteID = 1,
    Text = "Test note"
};

someClass.Notes.Add(newNote); // This line will throw an error because 
                              //      someClass.Notes is null
Run Code Online (Sandbox Code Playgroud)

我想通过执行以下代码来解决此问题。但是,我不知道是否/什么语法使之成为可能。

public class MyClass
{
    public int MyClassID { get; set; }
    public List<Note> Notes
    {
        get; set;

        public void Add(Note note)
        {
            if (this.Notes == null)
                this.Notes = new List<Note>();

            this.Notes.Add(note);
        } …
Run Code Online (Sandbox Code Playgroud)

c# overriding list

3
推荐指数
2
解决办法
114
查看次数

标签 统计

c# ×1

list ×1

overriding ×1