private void anotherMethod()
{
DirectoryInfo d = new DirectoryInfo("D\\:");
string s = included(d);
... // do something with s
}
private string included(DirectoryInfo dir)
{
if (dir != null)
{
if (included(dir.FullName))
{
return "Full";
}
else if (dir.Parent != null) // ERROR
{
if (included(dir.Parent.FullName))
{
return "Full";
}
}
...
}
...
}
上記のコードは私が使用しているものですが、機能しません。エラーがスローされます:
オブジェクト参照がオブジェクト インスタンスに設定されていません
dir.FullPath は B:\ であるため、親はありませんが、なぜ dir.Parent != null でエラーが発生するのですか?
特定のディレクトリに親ディレクトリが存在するかどうかを確認するにはどうすればよいですか?
「含まれる」メソッドが 2 つあることに注意してください。
- 含まれる(string s)
- 含まれる (DirectoryInfo dir)
この目的のために、included(string s) が false を返すと想定できます。