C#委托基础——泛型委托
C#委托基础系列原于2011年2月份发表在我的新浪博客中,现在将其般至本博客。
泛型委托
[csharp]
class Program
{
// 泛型委托,与普通委托类似,不同之处只在于使用泛型委托要指定泛型参数
public delegate T MyGenericDelegate<T>(T obj1,T obj2);
int AddInt(int x, int y)
{ www.zzzyk.com
return x + y;
}
string AddString(string s1, string s2)
{
return s1 + s2;
}
static void Main(string[] args)
{
Program p = new Program();
MyGenericDelegate<int> intDel;
intDel = p.AddInt;
Console.WriteLine("int代理的值是{0}", intDel(100, 200));
MyGenericDelegate<string> stringDel;
stringDel = p.AddString;
Console.WriteLine("string代理的值是{0}", stringDel("aaa", "bbb"));
}
}
class Program
{
// 泛型委托,与普通委托类似,不同之处只在于使用泛型委托要指定泛型参数
public delegate T MyGenericDelegate<T>(T obj1,T obj2);
int AddInt(int x, int y)
{
return x + y;
}
string AddString(string s1, string s2)
{
return s1 + s2;
}
static void Main(string[] args)
{
Program p = new Program();
MyGenericDelegate<int> intDel;
intDel = p.AddInt;
Console.WriteLine("int代理的值是{0}", intDel(100, 200));
MyGenericDelegate<string> stringDel;
stringDel = p.AddString;
Console.WriteLine("string代理的值是{0}", stringDel("aaa", "bbb"));
}
}
为了方便开发,.NET基类库针对在实际开发中最常用的情形提供了几个预定义好的委托,这些预定义委托用得很广,比如在编写lambda表达式和开发并行计算程序时经常要用到他们。就是下面我的几篇博客需要介绍的内容。
补充:软件开发 , C# ,