背景:一直不是很理解C#中的委托,也不是很清楚委托应用的业务场景,有可能和自己一直做B/S有关
业务描述:C/S,父窗口打开子窗口,子窗口把自己文本框里的值传个父窗口的文本框.
子窗体代码:
//定义委托
public delegate void
DelegateSetText(string returnValue);
//生明变量
public DelegateSetText
SetText;
private void
btnClose_Click(object sender, EventArgs
e)
{
//调用
SetText(this.txtReturn.Text.Trim());
this.Close();
}
父窗体:
private void btnOpen_Click(object sender, EventArgs
e)
{
frmChild
fc = new
frmChild();
//委托调用那个方法
fc.SetText += new
frmChild.DelegateSetText(SetValue);
fc.Show();
}
public void SetValue(string
strValue)
{
this.txtName.Text = strValue;
}
写完之后有点明白了.
委托的调用步骤(3步):
//定义委托
public delegate int DelegateAdd(int a,int b);
//声明变量
public DelegateAdd
AddMax = new DelegateAdd(Max);
public DelegateAdd AddMin = new DelegateAdd(Min);
protected void
Button1_Click(object sender, EventArgs
e)
{
//调用
Response.Write(AddMax(1,
2).ToString());
Response.Write(AddMin(1, 2).ToString())
;
}
private static int Max(int a, int
b)
{
return
1;
}
private static int Min(int a, int
b)
{
return
2;
}
C# delegate (001),布布扣,bubuko.com
原文:http://www.cnblogs.com/sportdog/p/3708511.html