私はいくつかの拡張メソッドを実装し、それらを別のクラスライブラリプロジェクトに配置しました。
クラスライブラリに次のような単純な拡張メソッドがあると想像してください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);
}
}
}
App_code
しかし、フォルダーやWebFroms分離コードページのようなWebアプリのどこにも、この拡張メソッドを使用できません。私がこのようなことをした場合:
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コードビハインドページで使用できます。