0

我有以下代码块

string[] dirs = Directory.GetDirectories(Current);
try
{
    foreach (string dir in dirs)
    {
        string[,] dirconf = Read_Dir(dir);
        Element elem = new Element();
        elem.name = dir; // set the current name in a blank element
        if (dirconf[1, 0].Equals("container")) 
            elem.type = ElementType.Container;
        else
            elem.type = ElementType.Project; // set the current type in the element

        // this is where additionalInfo will go

        Branch.Add(elem);
     }
}
catch (Exception e)
{
    MessageBox.Show(e.Message + "\r\n" + e.Source + "\r\n" + e.InnerException + "\r\n" + e.Data + "\r\n" + e.StackTrace);
}
UpdateUI();

那应该是获取目录列表,读取每个目录的配置(Read_Dir 函数工作得很好,经过测试),然后将目录添加到分支。分支声明如下

List<Element> Branch = new List<Element>();

使用变量 watch 和调试器,dirs 数组得到所有正确的东西,dirconf 也是如此。该元素创建成功,然后,在 Branch.Add 我想,它给出了一个“对象引用未设置为对象实例”异常,它退出 foreach 并直接进入 UpdateUI。UpdateUI 读取分支列表,发现它是空白的,并且什么也不做。

4

0 回答 0