리플렉션(Reflection)을 사용한 ActionResult를 상속받는 모든 클래스 찾기

using System;
using System.Linq;
using System.Reflection;
using Microsoft.AspNetCore.Mvc;

// 1. ActionResult를 상속받는 모든 구체적인 클래스 찾기
var actionResultTypes = typeof(ActionResult).Assembly
    .GetTypes()
    .Where(t => t.IsClass && !t.IsAbstract && typeof(ActionResult).IsAssignableFrom(t))
    .ToList();

foreach (var type in actionResultTypes)
{
    Console.WriteLine(type.FullName);
}

// 2. IActionResult를 직접 구현하는 모든 클래스 찾기 (ActionResult 제외)
var iActionResultTypes = typeof(IActionResult).Assembly
    .GetTypes()
    .Where(t => t.IsClass && !t.IsAbstract && typeof(IActionResult).IsAssignableFrom(t) && !typeof(ActionResult).IsAssignableFrom(t))
    .ToList();
Microsoft.AspNetCore.Mvc.AcceptedAtActionResult
Microsoft.AspNetCore.Mvc.AcceptedAtRouteResult
Microsoft.AspNetCore.Mvc.AcceptedResult
Microsoft.AspNetCore.Mvc.ActionResult
Microsoft.AspNetCore.Mvc.AntiforgeryValidationFailedResult
Microsoft.AspNetCore.Mvc.BadRequestObjectResult
Microsoft.AspNetCore.Mvc.BadRequestResult
Microsoft.AspNetCore.Mvc.ChallengeResult
Microsoft.AspNetCore.Mvc.ConflictObjectResult
Microsoft.AspNetCore.Mvc.ConflictResult
Microsoft.AspNetCore.Mvc.ContentResult
Microsoft.AspNetCore.Mvc.CreatedAtActionResult
Microsoft.AspNetCore.Mvc.CreatedAtRouteResult
Microsoft.AspNetCore.Mvc.CreatedResult
Microsoft.AspNetCore.Mvc.EmptyResult
Microsoft.AspNetCore.Mvc.FileContentResult
Microsoft.AspNetCore.Mvc.FileResult
Microsoft.AspNetCore.Mvc.FileStreamResult
Microsoft.AspNetCore.Mvc.ForbidResult
Microsoft.AspNetCore.Mvc.HttpActionResult
Microsoft.AspNetCore.Mvc.JsonResult
Microsoft.AspNetCore.Mvc.LocalRedirectResult
Microsoft.AspNetCore.Mvc.NoContentResult
Microsoft.AspNetCore.Mvc.NotFoundObjectResult
Microsoft.AspNetCore.Mvc.NotFoundResult
Microsoft.AspNetCore.Mvc.ObjectResult
Microsoft.AspNetCore.Mvc.OkObjectResult
Microsoft.AspNetCore.Mvc.OkResult
Microsoft.AspNetCore.Mvc.PhysicalFileResult
Microsoft.AspNetCore.Mvc.RedirectResult
Microsoft.AspNetCore.Mvc.RedirectToActionResult
Microsoft.AspNetCore.Mvc.RedirectToPageResult
Microsoft.AspNetCore.Mvc.RedirectToRouteResult
Microsoft.AspNetCore.Mvc.SignInResult
Microsoft.AspNetCore.Mvc.SignOutResult
Microsoft.AspNetCore.Mvc.StatusCodeResult
Microsoft.AspNetCore.Mvc.UnauthorizedObjectResult
Microsoft.AspNetCore.Mvc.UnauthorizedResult
Microsoft.AspNetCore.Mvc.UnprocessableEntityObjectResult
Microsoft.AspNetCore.Mvc.UnprocessableEntityResult
Microsoft.AspNetCore.Mvc.UnsupportedMediaTypeResult
Microsoft.AspNetCore.Mvc.VirtualFileResult

“리플렉션(Reflection)을 사용한 ActionResult를 상속받는 모든 클래스 찾기”에 대한 1개의 생각

  1. 핑백: ASP.NET Core 파일 처리: FileResult 및 인터페이스 - 어제와 내일의 나 그 사이의 이야기

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤