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
핑백: ASP.NET Core 파일 처리: FileResult 및 인터페이스 - 어제와 내일의 나 그 사이의 이야기