我有以下代码块
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 读取分支列表,发现它是空白的,并且什么也不做。