第十五天
(伟大的人类仍在爬行中……)
第八章:委托、Lambda表达式和事件
8.1引用方法
委托是寻址方法的.NET版本。在C++中,指针是危险的。而委托是类型安全的类,它定义了返回类型和参数的类型,委托类不仅包含对方法的引用,也可以包含对多个方法的引用。
Lambda表达式与委托直接相关。当参数是委托类型时,就可以使用Lambda表达式实现委托引用的方法。
8.2委托
当要把方法传送给其他方法时,需要使用委托:
int i=int.Parse("99");
.NET Framework在语法上不允许使用这种直接方法。如果要传递方法,就必须把方法的细节封装在一种新类型的对象中,即委托。委托只是一种特殊类型的对象,其特殊之处在于,我们以前定义的所有对象都包含数据,而委托包含的只是一个或多个方法的地址
8.2.1声明委托
在C#中使用一个类时,分两个阶段。
首先,需要定义这个类,即告诉编译器这个类由什么字段和方法使用。
然后(除非只使用静态方法),实例化类的一个对象。
使用委托时,也需要经过这两个步骤。
首先必须定义要使用的委托,对于委托,定义它就是告诉编译器这种类型的委托表示哪种类型的方法。
然后必须创建该委托的一个或多个实例。
定义委托的语法:
delegate void IntMethodInvoker(int x);
在该示例中,定义了一个委托IntMethodInvoker,并指定该委托的每个实例都可以包含一个方法的引用,该方
(伟大的人类仍在爬行中……)
第八章:委托、Lambda表达式和事件
8.1引用方法
委托是寻址方法的.NET版本。在C++中,指针是危险的。而委托是类型安全的类,它定义了返回类型和参数的类型,委托类不仅包含对方法的引用,也可以包含对多个方法的引用。
Lambda表达式与委托直接相关。当参数是委托类型时,就可以使用Lambda表达式实现委托引用的方法。
8.2委托
当要把方法传送给其他方法时,需要使用委托:
int i=int.Parse("99");
.NET Framework在语法上不允许使用这种直接方法。如果要传递方法,就必须把方法的细节封装在一种新类型的对象中,即委托。委托只是一种特殊类型的对象,其特殊之处在于,我们以前定义的所有对象都包含数据,而委托包含的只是一个或多个方法的地址
8.2.1声明委托
在C#中使用一个类时,分两个阶段。
首先,需要定义这个类,即告诉编译器这个类由什么字段和方法使用。
然后(除非只使用静态方法),实例化类的一个对象。
使用委托时,也需要经过这两个步骤。
首先必须定义要使用的委托,对于委托,定义它就是告诉编译器这种类型的委托表示哪种类型的方法。
然后必须创建该委托的一个或多个实例。
定义委托的语法:
delegate void IntMethodInvoker(int x);
在该示例中,定义了一个委托IntMethodInvoker,并指定该委托的每个实例都可以包含一个方法的引用,该方