サンプルMVCコードに表示されているほとんどすべてのコントローラメソッドが、コードが結果の1つのタイプのみを返すことができることが明らかであっても、なぜActionResultを返すのか不思議です。ロジックに応じてRedirectResultやViewResultを返すことがあるため、保証されている場合がありますが、これは私が見た方法のほとんどに当てはまりません。ほとんどのMVCサンプルコントローラコードがActionResultを返すのはなぜですか?
メソッドに「オブジェクト」の戻り値の型を持つことと同じではありませんか?戻り値の型としてJsonResult、FileResultまたはViewResultを指定するだけではどうですか?すべてのコントローラメソッドで、戻り値の型をActionResultに設定していないというメリットはありますか?
クラシック例:
はpublic ViewResult Index()
{
return View();
}
EDIT:
public ActionResult Index()
{
return View();
}
はなぜ、この代わりに、こののノルムであるように見えるんこれまでのところ、すべて1以外の応答のがあることを示しているのActionResultもっと一般的です。私はそれほど知っている。 :)コントローラメソッドではなぜこのような練習が受け入れられますか?通常のメソッドでできる最高のレベルベースのクラスを返すだけではなく、通常できる最も特殊な型を返そうとします。ブロガーと "サンプルコード作家"(はい、私はその言葉を作った)がコントローラのメソッドを非常に異なるものにするのは、単にActionResultを返すことだけでしょうか?
[ASP.NET MVCコントローラメソッドを返す必要がありますActionResult?](http://stackoverflow.com/questions/1021568/must-asp-net-mvc-controller-methods-return-actionresult) – bzlm