StringExt.cs(定义扩展方法的类):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebApplication1
{
/// <summary>
/// 扩展方法所在的类必须是静态类。
/// 扩展方法必须是静态方法。
/// 第一个参数必须是this关键字后面跟的是给哪个类型扩展的。
/// </summary>
public static class StringExt
{
public static string MyStr(this string strMsg) //this string strMsg 表示是为String类型注册扩展方法,并不是参数。可以通过逗号再加上参数。
{
return string.Format("<font color='red'>{0}</font>",strMsg);
}
}
}
WebForm1.aspx.cs(测试页面类中调用扩展方法):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class WebForm3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string str ="ttttt";
Response.Write (str.MyStr()); //调用string类型的扩展方法。
}
}
}