多くのデリゲート/関数の例があることは知っていますが、うまくいく例が見つからないか、単にそれらを理解していません。
Web サイトに asp.net MVC を使用しています。Web サイトには、外部アプリケーションがアプリと対話するための Web サービス呼び出しが必要です。これらはすべて、実行する関数 (db などに移動する) が必要であり、毎回同様のデータ モデルを返します。各呼び出しを try/catch でラップし、モデルに入力したいと考えています。
以下は、すべての呼び出しで発生する一般的なコードです。
var model = new ResponseDataModel();
try
{
//execute different code here
}
catch (Exception ex)
{
model.Error = true;
model.Message = ex.ToString();
}
return View(model); // will return JSON or XML depending on what the caller specifies
これは、私が使用しているコントローラーメソッド/関数の1つです
public ActionResult MillRequestCoil()
{
var model = new ResponseDataModel();
try
{
/* edit */
//specific code
string coilId = "CC12345";
//additional code
model.Data = dataRepository.doSomethingToCoil(coilId);
//replaced code
//model.Data = new { Coil = coilId, M3 = "m3 message", M5 = "m5 message" };
model.Message = string.Format("Coil {0} sent successfully", coilId);
}
catch (Exception ex)
{
model.Error = true;
model.Message = ex.ToString();
}
return View(model);
}
特定の関数を変数に変換して、汎用コードに渡すことができるようにしたいと考えています。デリゲートと匿名関数を見てきましたが、自分でやるまではかなり混乱します。