您的位置:首页 > 其它

怎么在项目中应用委托

2013-06-18 20:21 260 查看
委托可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的指针。

简单案例:文本框中只能输入数字,否则提示错误

在项目中添加Web窗体和Web用户控件。

Web用户控件前台样式:



后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace 委托的简单应用
{
public partial class WebUserControl1 : System.Web.UI.UserControl
{
public Number num;
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
int result;

if (int.TryParse(TextBox1.Text,out result)==false)
{
if (num!=null)
{
this.Label1.Text = num();
}
}
}
//定义的委托
public delegate string Number();

}
}

然后在Web船体中引用Web用户控件,在设计页面拖进Web用户控件

Web船体的后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace 委托的简单应用
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

#region 写在if当中是不正确的,只会加载页面的时候执行一次
/* if (!IsPostBack)
{
WebUserControl11.num = Error3;
}*/
#endregion


//利用委托实现效果
WebUserControl11.num = Error3;

}

//下面三个定义的是方法(函数及提示的错误信息)

// P.S:三个函数方法可以直接写在Web用户控件里边
private static string Error1()
{
return "输入不正确";
}
private static string Error2()
{
return "请输入数字";
}
private static string Error3()
{
return "输入的字符不是数字";
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: