C#委托、泛型
/****************************************************************************************************************
*委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数
*和返回值。委托的关键字是delegate,主要功能是安全地封装方法的类型。其将方法作为参数进行引用的能力,使委托成为定义回调方法的理想
*选择。值得注意的是:委托引用的方法,必须与委托具备同样的返回类型和同样的参数类型。
*泛型是C#非常特殊的一种类型,泛型是类型安全的保障,泛型将类型参数的概念引入.NET Framework,类型参数的优点是类和方法将一个或多个
*类型的指定,推迟到客户端代码声明并实例化该类或方法的时候。下面的代码定义了一个简单的泛型方法:
*public void Print<U>()//定义一个泛型方法
*{
* MessageBox.Show(typeof(U).Name);
*}
*Print<int>();//调用泛型方法
*泛型类和泛型方法同时具备可重用性、类型安全和高效率,这是非泛型类和非泛型方法无法具备的。泛型通常用在集合和在集合上运行的方法中。
****************************************************************************************************************/
实例代码
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace HelloNET3._5
7 {
8 class Program
9 {
10 public delegate void OwnPrint(string text);//定义委托
11 public static void Print(string message)//定义方法
12 {
13 Console.WriteLine(message);
14 }
15 static void Main(string[] args)
16 {
17 OwnPrint myprint = Print;//委托方法
19 myprint("VS2008欢迎您!");//实现调用
}
21
22 }
23 }
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace HelloNET3._5
7 {
8 class Program
9 {
10 public delegate void OwnPrint(string text);//定义委托
11 public static void Print(string message)//定义方法
12 {
13 Console.WriteLine(message);
14 }
15 static void Main(string[] args)
16 {
17 OwnPrint myprint = Print;//委托方法
19 myprint("VS2008欢迎您!");//实现调用
}
21
22 }
23 }