DirectoryInfo - Clear

A DirectoryInfo extension method that clears all files and directories in this directory.

Try it

public static string DirectoryName = "Main Directory";

public static void Main()
{
	CreateFilesAndDirectories();
	
	var dirInfo = DirectoryName.ToDirectoryInfo();
	
	//C# Extension Method - DirectoryInfo - GetFileSystemEntries
	var entries = dirInfo.GetFileSystemEntries();
	
	Console.WriteLine("Data in current directory.\n\n");
	
	foreach (var entry in entries)
    {
		Console.WriteLine(entry);
    }
	
	//C# Extension Method - DirectoryInfo - Clear
	dirInfo.Clear();
	
	Console.WriteLine("\n\nData in current directory after calling Clear method.\n\n");
	
	entries = dirInfo.GetFileSystemEntries();
	
	foreach (var entry in entries)
    {
		Console.WriteLine(entry);
    }
}

private static void CreateFilesAndDirectories()
{
	DirectoryName.ToDirectoryInfo().Create();
	DirectoryName.ToDirectoryInfo().CreateSubdirectory("Entity Framework");
	DirectoryName.ToDirectoryInfo().CreateSubdirectory(".Net Framework");
	DirectoryName.ToDirectoryInfo().CreateSubdirectory("Java");
	DirectoryName.ToDirectoryInfo().CreateSubdirectory("SQL");
	string file1 = DirectoryName + "\\EntityFramework.txt";
    string file2 = DirectoryName + "\\oldTest.txt";
    file1.ToFileInfo().WriteAllText("EF text");
    file2.ToFileInfo().WriteAllText("text");
}

View Source
using System;
using System.IO;

public static partial class Extensions
{
    /// <summary>
    ///     A DirectoryInfo extension method that clears all files and directories in this directory.
    /// </summary>
    /// <param name="obj">The obj to act on.</param>
    public static void Clear(this DirectoryInfo obj)
    {
        Array.ForEach(obj.GetFiles(), x => x.Delete());
        Array.ForEach(obj.GetDirectories(), x => x.Delete(true));
    }
}