読者です 読者をやめる 読者になる 読者になる

名前を変える方法

.net

ファイル名やフォルダ名を変更したい場面はよくあるのに、File クラスや Directory クラスに Rename メソッドが用意されていないのは何故なんだろう?

class Program
{
    static void Main(string[] args)
    {
        DirectoryInfo dir = new DirectoryInfo(@"C:\foo\");
        dir.Rename("bar");

        FileInfo file = new FileInfo(@"C:\sample.txt");
        file.Rename("test.txt");
    }
}

public static class FileExtensions
{
    public static void Rename(this FileInfo file, string newName)
    {
        file.MoveTo(newName);
    }
}

public static class DirectoryExtensions
{
    public static void Rename(this DirectoryInfo dir, string newName)
    {
        dir.MoveTo(newName);
    }
}

Move メソッドや MoveTo メソッドで名前は変えられるんだけど、直観的じゃないよねぇ…。