私は、DirectoryInfo と Directory の静的メソッドのどちらを使用するかを好みます。これは、より優れた OO 設計だと思うからです。これはDirectoryInfo +拡張メソッドを使用したソリューションです。これは非常に使いやすいと思います。
public static DirectoryInfo Subdirectory(this DirectoryInfo self, params string[] subdirectoryName)
{
Array.ForEach(
subdirectoryName,
sn => self = new DirectoryInfo(Path.Combine(self.FullName, sn))
);
return self;
}
を変更しているという事実は好きではありませんself
が、この短い方法については、新しい変数を作成するよりもクリーンだと思います。
ただし、呼び出しサイトはそれを補います:
DirectoryInfo di = new DirectoryInfo("C:\\")
.Subdirectory("Windows")
.Subdirectory("System32");
DirectoryInfo di2 = new DirectoryInfo("C:\\")
.Subdirectory("Windows", "System32");
FileInfo を取得する方法を追加することは、演習として残されています (別の SO の質問!)。