1.委托的实质
大家应该都知道函数的调用都是先寻找函数的首地址,然后在去调用,而委托的本质是记录函数的首地址,就和调用函数的本质一样。
2.委托的初始化与自定义类型初始化区别
1.委托
委托能够在赋值为NULL的情况下,在去赋值函数名,可以正常调用,不需要new。
2.自定义类型(引用类型)
一定要new才能给其中的成员元素赋值,为什么呢?例如:
class Test
{
public int a;
}
Test s=null;
s.a=100;
Console.WriteLine(s.a);
会直接报错,因为其没有初始化,没有为改变量申请内存空间,只有变量名有内容空间。
原因:委托可以不用new的原因就是因为变量名可以直接赋予函数的首地址,可以去直接访问。
事件
1.事件只能在类内定义,类内去调用,因为其真实的写法是私有的,不能直接去调用