public class Class1
{
delegate int DeleAdd(int a,int b); //委托声明
delegate int DeleRemove();
public Class1()
{
}
public static void Start()
{
Class1 c1=new Class1();
DeleAdd add=new DeleAdd(c1.Add); //实例化委托,并指定委托方法
add+=new DeleAdd(c1.Add1); //委托梆定另一个方法
DeleRemove remove=null;
remove+=new DeleRemove(c1.Remove); //初始化委托的两种方法(1、new 2、+=new)
remove+=new DeleRemove(c1.Remove1);
MessageBox.Show(add(10,20).ToString()); //显示 30(在Add1方法中显示的),再次显示30(函数的返回)
MessageBox.Show(remove().ToString()); //显示“没有相加”、“一样没有相加”、100
}
private int Add(int a,int b)
{
return a+b;
}
private int Add1(int a,int b)
{
MessageBox.Show(Convert.ToString(a+b));
return a+b;
}
private int Remove()
{
MessageBox.Show("没有相加");
return 0;
}
private int Remove1()
{
MessageBox.Show("一样的没有相加");
return 100;
}
}
public class form
{
Class1.Start();
}
{
delegate int DeleAdd(int a,int b); //委托声明
delegate int DeleRemove();
public Class1()
{
}
public static void Start()
{
Class1 c1=new Class1();
DeleAdd add=new DeleAdd(c1.Add); //实例化委托,并指定委托方法
add+=new DeleAdd(c1.Add1); //委托梆定另一个方法
DeleRemove remove=null;
remove+=new DeleRemove(c1.Remove); //初始化委托的两种方法(1、new 2、+=new)
remove+=new DeleRemove(c1.Remove1);
MessageBox.Show(add(10,20).ToString()); //显示 30(在Add1方法中显示的),再次显示30(函数的返回)
MessageBox.Show(remove().ToString()); //显示“没有相加”、“一样没有相加”、100
}
private int Add(int a,int b)
{
return a+b;
}
private int Add1(int a,int b)
{
MessageBox.Show(Convert.ToString(a+b));
return a+b;
}
private int Remove()
{
MessageBox.Show("没有相加");
return 0;
}
private int Remove1()
{
MessageBox.Show("一样的没有相加");
return 100;
}
}
public class form
{
Class1.Start();
}