1
コントローラアクションの結果オブジェクトタイプを取得したいと思います。リフレクションを使用してMVCのアクションから結果オブジェクトタイプを取得
は一般的に、私のプロジェクトでのアクションの構造はこれです:今
[ServiceControllerResult(typeof(MyControllerResult))]
public ActionResult MyMethod(MyControllerRequest request)
{
var response = new ServiceResponse<MyControllerResult>();
// do something
return ServiceResult(response);
}
、どのように私は、リフレクションを使用してMyControllerResult
オブジェクト型を得ることができますか?
私はこのコードを書くが、私は、オブジェクト型とオブジェクト名を取得する方法がわからない:
var attributes = method.GetCustomAttributes(); // list of attributes
var resultAttribute = attributes.Where(x => x.ToString().Contains("ServiceControllerResultAttribute")).FirstOrDefault();
P.S.デコレータServiceControllerResult
はオプションであるため、属性を取得するContainsメソッドを記述します。
おかげ
申し訳イゴールをコンパイルするのと同じように、あなたの質問に暗示されましたが、私はこれを追加しましたが、私は何のコードを持っていない、私はちょうど持っていますMyMethodのdllはリフレクションによって取得されます。私はあなたのソリューションを使用することはできません。 – elviuz
@elviuz - それでも使用できます。アップデートを参照してください。変更できないメソッドの本体を削除し、戻り値の型を取得するために型情報を使用する場所に記述するコードの新しいメソッドを追加しました。 – Igor