示例#1
0
        public static void CopyFromDisk(this IDirectory directory, DirectoryInfo sourceDir)
        {
            if (directory == null)
            {
                throw new ArgumentNullException("directory");
            }

            if (sourceDir == null)
            {
                return;
            }

            foreach (var fileInfo in sourceDir.GetFiles())
            {
                directory.CreateFileFromDisk(fileInfo.Name, fileInfo);
            }

            foreach (var subDir in sourceDir.GetDirectories())
            {
                var dir = directory.CreateDirectory(subDir.Name) as MemoryDirectory;
                dir.CopyFromDisk(subDir);
            }
        }