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 및 인터페이스 - 어제와 내일의 나 그 사이의 이야기