1.委托是什么呢?
委托是一种数据类型。那么肯定初学者不理解了,这是什么意思呢?那么我就给大家解释一下。
我们现在可以回想一下哪些是数据类型,首先变量是数据类型吧,定义一个Person类是一个数据类型吧,那么我们就可以这样子理解,委托也是一种数据类型,不过是一种delegate类型的数据类型。
2.委托的语法
<1>.定义一个委托类型 public delegate void MyDelegate();//这个是我定义了一个没有方法,没有返回值的委托类型。
<2>.声明委托变量,并赋值。在Main方法中调用,MyDelegate md = new MyDelegate(传递进入一个无方法,无返回值的一个方法);
public delegate void MyDelegate(); //void代表定义一个没有返回值类型,()代表定义一个没有参数;而类则是用class,委托是用delegate,仅仅比类多了个返回值类型而已
给大家看一个小的例子:
using System;
using System.Collections.Generic;
using System.Text;
namespace 委托1
{
class Program
{
static void Main(string[] args)
{
//第二步:和类一样,new一个委托对象
MyDelegate md = new MyDelegate(SayHello);
md();
Console.ReadKey();
}
//第一步:定义了一个无参数,无返回值的一个委托类型
//委托是用来存储方法的,在此定义一个无参数,无返回值的委托类型是有原因的:委托只能存储参数,返回值一致的方法,而不能存储
//参数的个数不一致,方法的返回类型不一致的方法,所以这里我定义了一个无参数,无返回值的委托类型,故此这里只能存储无参数,无返回值得方法
public delegate void MyDelegate();
//只能是静态方法
static void SayHello()
{
Console.WriteLine("hello....");
}
//1.定义一个委托类型
//2.声明委托变量,并赋值
//3.调用委托变量
//注意:委托和命名空间里的类属于同一个级别的,并且委托没有实现。
}
}
运行结果:hello....
大家知道怎么使用了吧。
这个是我第一次写博客园,写的不太清楚,望大家见谅,今后会慢慢讲解清楚的。谢谢大家!