大家好我刚学c#不久一直对函数中的委托似懂非懂请高手不吝赐教,帮帮忙,谢谢!!1
运行库支持称为委托的引用类型,其作用类似于 C++ 中函数指针的用途。与函数指针不同,委托实例独立于它所封装的方法的类;最主要的是那些方法与委托的类型是兼容的。另外,函数指针只能引用静态函数,而委托可以引用静态和实例方法。委托主要用于 .NET Framework 中的事件处理程序和回调函数。
所有委托都是从
可以使用委托的 Combine 和 Remove 方法在其调用列表中添加和移除方法。若要调用委托,可使用 Invoke 方法,或者使用 BeginInvoke 和 EndInvoke 方法异步调用委托。委托类的实现是由运行库提供的,而不是由用户代码提供的。
给个例子看看吧!
using System;
namespace _05_06
{
public delegate string MyDelegate(string drg);
public class Class_05_06
{
public static string DoNothing(string s)
{
return s;
}
public string ToLower(string s)
{
return s.ToLower ();
}
public static string ToUpper(string s)
{
return s.ToUpper ();
}
public static void Main()
{
MyDelegate d1,d2,d3;
Class_05_06 c=new Class_05_06 ();
d1=new MyDelegate (Class_05_06.DoNothing );
d2=new MyDelegate (c.ToLower );
d3=new MyDelegate (Class_05_06.ToUpper );
string s="This is a string";
Console.WriteLine (d1(s));
Console.WriteLine (d2(s));
Console.WriteLine (d3(s));
}
}
}