Пример #1
0
        /// <summary>
        /// サブ ディレクトリを作成します。
        /// 指定の名前のサブ ディレクトリが既に存在する場合は例外が発生します。
        /// </summary>
        /// <param name="name">サブ ディレクトリ名。</param>
        /// <returns>サブ ディレクトリの StorageDirectory。</returns>
        public StorageDirectory CreateDirectory(string name)
        {
            if (DirectoryExists(name))
            {
                throw new InvalidOperationException(string.Format("The directory '{0}' already exists.", name));
            }

            // サブ ディレクトリを作成します。
            var path = ResolveChildPath(name);

            container.CreateDirectory(path);

            // サブ ディレクトリの StorageDirectory を作成します。
            var directory = new StorageDirectory(container, name, path);

            directory.CreateIndexFile();

            // Index にサブ ディレクトリの情報を追加して保存します。
            index.DirectoryNames.Add(name);
            SaveIndexFile();

            // todo
            IndexChanged(this, EventArgs.Empty);

            return(directory);
        }