たとえば、MVCには、5つの異なるコントローラーファイルがあります。それらすべてに、画像を保存する方法があります。すべてのコントローラーに書き込むのではなく、このメソッドを1つの場所に配置し、すべてのコントローラーメソッドにアクセスする方法はありますか?私は試した
MyController.MyMethod();
しかし、ドットを書いた後、Intellisenceはそれを表示していません。
たとえば、MVCには、5つの異なるコントローラーファイルがあります。それらすべてに、画像を保存する方法があります。すべてのコントローラーに書き込むのではなく、このメソッドを1つの場所に配置し、すべてのコントローラーメソッドにアクセスする方法はありますか?私は試した
MyController.MyMethod();
しかし、ドットを書いた後、Intellisenceはそれを表示していません。
ユーティリティクラスに入れて静的にします。コントローラから行う必要があるのは、次のようなものだけです。
Utility.SaveImage(...);
ベースコントローラーを使用する
public abstract class BaseController : Controller
{
protected virtual void MyMethod()
{
// Do stuff
}
}
次に、コントローラーはベースコントローラーを継承します
public class HomeController : BaseController
{
public ActionResult Index()
{
this.MyMethod();
return View();
}
}
または、静的ヘルパークラスを作成することもできます
public static class Helper
{
public static void MyMethod()
{
// Do stuff
}
}
public class HomeController
{
public ActionResult Index()
{
Helper.MyMethod()
return View();
}
}