在讲委托之前,我们先来回顾一下大家都很熟悉的"类".
[b]类的定义[/b]:类是对某一类实体的抽象描述和概念定义.
[b]类的使用[/b]:
(1)类的定义:主要定义类的字段和类的方法
(2)类的实例化:创建类的一个对象
这些大家都很熟悉了,那么委托和类有什么关系呢?
委托是一种特殊的类.
[b]委托的定义[/b]:委托是某一类方法的抽象描述和概念定义.
[b]委托的使用[/b]:
(1)委托的定义
[color=orange]DeLawer委托指定了该委托的每个实例都包含一个方法的细节,即该方法不带参数,并且没有返回值.[/color]
(2)委托的实例化
(2.1)委托的构造函数带一个参数
(2.2)这个参数就是委托所引用的方法
委托的概念很多:
其他概念:委托是一个通用的方法名,该名称可以在不同的时刻指向不同的方法.
委托能够指向的方法:任何类型对象的静态方法或者实例方法.
例:
[b]类的定义[/b]:类是对某一类实体的抽象描述和概念定义.
[b]类的使用[/b]:
(1)类的定义:主要定义类的字段和类的方法
class Teacher
{
private int id;
public int ID
{
get{return id;}
set{id = value;}
}
public void prelect()
{
//讲课
}
}
(2)类的实例化:创建类的一个对象
Teacher t = new Teacher();
t.prelect();
这些大家都很熟悉了,那么委托和类有什么关系呢?
委托是一种特殊的类.
[b]委托的定义[/b]:委托是某一类方法的抽象描述和概念定义.
[b]委托的使用[/b]:
(1)委托的定义
public delegate void DeLawer();
[color=orange]DeLawer委托指定了该委托的每个实例都包含一个方法的细节,即该方法不带参数,并且没有返回值.[/color]
(2)委托的实例化
(2.1)委托的构造函数带一个参数
(2.2)这个参数就是委托所引用的方法
Teacher t = new Teacher();
DeLawer delawer = new DeLawer(t.prelect);
[color=orange]提示:理解委托的一种好方式是把委托当作给方法的特征指定一个名称.[/color]
委托的概念很多:
其他概念:委托是一个通用的方法名,该名称可以在不同的时刻指向不同的方法.
委托能够指向的方法:任何类型对象的静态方法或者实例方法.
例:
struct Student
{
public static void study()
{
//学习
}
}
DeLawer delawer = new DeLawer(Student.study);