我已经实现了一些扩展方法并将它们放在单独的类库项目中。
想象一下,我在类库中有一个像这样的简单扩展方法,名为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
我无法在文件夹或 WebFroms 代码隐藏页面之类的任何地方使用此扩展方法。如果我做这样的事情:
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()
,甚至没有 IntelliSense 支持。
如果我将扩展方法放在App_Code
文件夹中,则它可以在.cs
文件App_code
夹中的其他文件或 WebForms 代码隐藏页面中使用。