我已经实现了一些扩展方法并将其放在一个单独的类库项目中。
假设在名为
编译器无法识别
如果我将我的扩展方法放在
假设在名为
MD.Utility
的类库中有一个简单的扩展方法,像这样:namespace MD.Utility
{
public static class ExtenMethods
{
public static bool IsValidEmailAddress(this string s)
{
Regex regex = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
return regex.IsMatch(s);
}
}
}
但是在 Web 应用程序中,例如 App_code
文件夹或 WebForms 代码后台页面中,我无法使用这个扩展方法。如果我这样做:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MD.Utility;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string email = "Someone@Somewhere.com";
if (email.IsValidEmailAddress())
{
//To do
}
}
}
编译器无法识别
IsValidEmailAddress()
,甚至没有智能提示支持。如果我将我的扩展方法放在
App_Code
文件夹中,在App_Code
文件夹中的另一个.cs
文件或WebForms代码后台页面中都可以使用它。