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 は Branch リストを読み取り、それが空白であることを検出し、何もしません。

4

0 に答える 0