using System;
using System.IO; 
class test
{
public delegate void DirDel(string path);
class DirectoryDele
{
public  void CreDir()
{
string path = Console.ReadLine();
Directory.CreateDirectory(@path);
Console.WriteLine("{0}目录创建成功",path);
}

public void DelDir()
{
string path = Console.ReadLine();
Directory.Delete(@path);
Console.WriteLine("{0}目录删除成功",path);
}
} class main
{
public static void Main()
{
int dowhat;
DirDel dd;
DirectoryDele d = new DirectoryDele(); 
Console.WriteLine("选择你想执行的操作:");
Console.WriteLine("1.建立新的目录...");
Console.WriteLine("2.删除已有目录...");
dowhat = Int32.Parse(Console.ReadLine());
switch(dowhat)
{
case 1:
{
Console.WriteLine("您选择了新建目录...");
Console.WriteLine("请输入你要创建目录的路径:");
dd = new DirDel(d.CreDir);
}
break; case 2:
{
Console.WriteLine("您选择了删除目录...");
Console.WriteLine("请输入您要删除目录的路径:");
dd = new DirDel(d.DelDir);
}
break;
}

}
}
}编译结果是方法和委托不匹配,这是什么原因?向达人求解!