委托学习,委托就是一种数据类型,就是把一个方法当参数一个使用,这里先写一个最简单的委托练习!
新建一个空项目,再建一个控制台程序:
然后再建一个类库,在类库中新建一个没有返回类型的委托:就是新建一个类,委托其实就是一个类,写法如下:
namespace ClassLibrary1 { //定义一个没有返回值的委托 public delegate void Dodelegate(); }
然后在在类库中再建一个类。在类中创建一个方法,这个方法传一个委托参数,代码如下:
这个M1方法里面的参数Dodelegate类型,就是上面我们定义的委托Dadelegate;
namespace ClassLibrary1 { public class Class1 { //定义一个方法,传一个委托类型的参数 public void M1(Dodelegate Modate) { Console.WriteLine("我是中国人"); Console.WriteLine("我是中国人"); Console.WriteLine("我是中国人"); Modate();//调用委托 Console.WriteLine("我是中国人"); Console.WriteLine("我是中国人"); Console.WriteLine("我是中国人"); } } }
现在委托写好了,方法也写好了,然后我们再在控制台调用,代码如下:
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //调用类 Class1 sd = new Class1(); //调用方法,传一个委托类型; sd.M1(Do); Console.ReadKey(); } static void Do() { DateTime sb = DateTime.Now; Console.WriteLine(sb); } } }
输出如下:
这样一个简单的委托方法调用,就写好了,在这个简单的项目中,就把一个方法当参数使用了;