1. ホーム
  2. c#

[解決済み] ASP.NET MVCでコントローラのメソッドをオーバーロードすることはできますか?

2022-03-17 22:07:44

質問

ASP.NET MVCでコントローラのメソッドをオーバーロードできるかどうか、興味があります。 試してみると、いつも以下のようなエラーが出ます。 2つのメソッドは異なる引数を受け取ります。 これはできないことなのでしょうか?

コントローラタイプ 'MyController' のアクション 'MyMethod' に対する現在のリクエストは、以下のアクションメソッドの間であいまいな点があります。

どうすればいいですか?

オーバーロードをさせたい場合は、この属性を使用します。

[ActionName("MyOverloadedName")]

ただ、同じhttpメソッドでもアクション名を変えて使う必要があります(他の方もおっしゃっていますが)。つまり、その時点ではセマンティクスに過ぎないのです。コードと属性のどちらで名前を指定するのがいいでしょうか?

フィルがこれに関連する記事を掲載しています。 http://haacked.com/archive/2008/08/29/how-a-method-becomes-an-action.aspx