调用方法时,对象看起来是空的,但它不是空的

时间:2017-03-22 12:23:59

标签: c# class

当我调用方法GetListByName时,我收到错误...

  

Null Exception(对象引用未设置为的实例)   对象。)

...类ItemListList中的_ItemListList> GetListByName。 我不明白为什么,此时对象预设不是空的。 这不是重复的,因为我不是在问NullReferenceException是什么或者如何修复它,我的问题更多是关于理解为什么在我有一个有效的ItemListList类实例时抛出异常。

Item dir1 = new Item("c:\\test1");
Item dir2 = new Item("c:\\test2");

ItemList dirs1 = new ItemList("joe");
dirs1.Add(dir1);
dirs1.Add(dir2);

ItemList dirs2 = new ItemList("solid");
dirs2.Add(dir3);
dirs2.Add(dir4);

presets = new ItemListList();
presets.Add(dirs1);
presets.Add(dirs2);

ItemList myItemList = presets.GetListByName("solid"); 

我的课程:

public class Item
{
    public string Path { get; set; }
    public Item(string Path)
    {
        this.Path = Path;
    }
}


public class ItemList : List<Item>
{
    public ItemList _ItemList { get; set; }
    public string Name { get; set; }
    public ItemList(string Name)
    {
        this.Name = Name;
    }
}



public class ItemListList : List<ItemList>
{
    public ItemListList _ItemListList { get; set; }
    public ItemListList(ItemListList _ItemListList)
    {
        this._ItemListList = _ItemListList;
    }
    public ItemListList()
    {
    }
    public ItemList GetListByName(string Name)
    {
        foreach (ItemList iList in _ItemListList)
        {
            if (iList.Name == Name)
            {
                return iList;
            }
        }
        return null;
    }
}

0 个答案:

没有答案