私は、ディレクトリの場所を横断し、そこからデータモデルを作成するコードスニペットを持っています。私は、ディレクトリ構造がある場合たとえば、:イミディエイトウィンドウで値が表示されないのはなぜですか?
c:\TestDir1
c:\TestDir1\Sub1\
c:\TestDir1\Sub1\File1.txt
c:\TestDir1\Sub1\File2.txt
c:\TestDir1\Sub1\SubSub1
c:\TestDir1\Sub1\SubSub1\File3.xlsx
c:\TestDir1\Sub1\SubSub1\SubDirX
c:\TestDir1\Sub1\SubSub1\SubDirX\File4.txt
c:\TestDir1\Sub1\SubSub1\SubDirX\File5.txt
c:\TestDir1\Sub1\SubSub1\SubDirX\File6.txt
をこれは、次のコードを介して適切なデータモデルを作成します。
static void BeginIt()
{
DirectoryInfo diTop = new DirectoryInfo(@"c:\Misc\3) Projects\002) Document Manager\DirectoryReading\TestDir1");
string path = diTop.FullName;
MySubDir mySubDir = new MySubDir(path);
}
public class MySubDir
{
public ArrayList _dirs;
public ArrayList _files;
public MySubDir(string dirPath)
{
_dirs = new ArrayList();
_files = new ArrayList();
this.ProcessDirectory(dirPath);
}
private void ProcessDirectory(string dirPath)
{
// Process the list of files found in the directory.
string[] fileEntries = Directory.GetFiles(dirPath);
foreach (string fileName in fileEntries)
{
_files.Add(fileName);
}
// Recurse into subdirectories of this directory.
string[] subdirectoryEntries = Directory.GetDirectories(dirPath);
foreach (string subdirectory in subdirectoryEntries)
{
_dirs.Add(new MySubDir(subdirectory));
}
}
}
はここに私の質問です。コードを1行ずつ進めると、データモデルが適切に構築されます。 AddWatchを実行すると、オブジェクトが表示され、ディレクトリ構造が適切に構築されます。
イミディエイトウィンドウからコンテンツの値にアクセスしようとすると、エラーが発生します。たとえば、イミディエイトウィンドウに次のように入力すると、次のようになります。
? mySubDir._dirs [0] ._ dirs [0]
私はエラーが発生します。
これらのサブディレクトリの値はどうやって取得できますか?私は、このモデルの要素のディレクトリ名とファイル名にアクセスできるようにしたいと考えています。それがうまくいくように表現mySubDir.whatever
がmySubDir
がスコープ内にあることと、有効な値を持つに依存するので、見ていない
おかげ
エラーが発生した場合は、非常に注意深く読んでみてください。問題の手がかりを含んでいる可能性があります。b)質問で言及する場合は、実際のエラー情報を含める*そこから有益な情報を集めることはできません。 –
さらに、直近のウィンドウにアクセスすることに言及する場合は、どこで*実行を停止したかを指定することもできます(たとえば、ソースに '< - Breakpoint here'などのようにコメントを追加するなど) –