using SharedKernel.Results; namespace Web.Api.Extensions; public static class ResultExtensions { // Result °´Ã¼¿¡ °ªÀÌ ¾ø´Â °æ¿ì, onSuccess´Â ¸Å°³º¯¼ö ¾øÀÌ È£ÃâµÇ°í, onFailure´Â Result °´Ã¼¸¦ ¸Å°³º¯¼ö·Î ¹Þ¾Æ È£ÃâµË´Ï´Ù. public static TOut Match( this Result result, Func onSuccess, Func onFailure ) { return result.IsSuccess ? onSuccess() : onFailure(result); } // Result °´Ã¼¿¡ °ªÀÌ ÀÖ´Â °æ¿ì, onSuccess´Â ¸Å°³º¯¼ö·Î TIn °ªÀ» ¹Þ¾Æ È£ÃâµÇ°í, onFailure´Â Result °´Ã¼¸¦ ¸Å°³º¯¼ö·Î ¹Þ¾Æ È£ÃâµË´Ï´Ù. public static TOut Match( this Result result, Func onSuccess, Func, TOut> onFailure ) { return result.IsSuccess ? onSuccess(result.Value) : onFailure(result); } }