1
我想檢索Controller Action的結果對象類型。使用反射從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();
附:我編寫Contains方法來檢索屬性,因爲裝飾器ServiceControllerResult
是可選的。
感謝
對不起伊戈爾但我沒有代碼,我剛通過反射檢索MyMethod的dll。我無法使用您的解決方案。 – elviuz
@elviuz - 它仍然可以使用。查看更新。我刪除了無法更改的方法的主體,併爲正在編寫的代碼添加了一種新方法,您可以在其中使用類型信息來獲取返回類型。 – Igor