| 123456789101112131415161718192021222324 |
- using SharedKernel.Results;
- namespace Web.Api.Extensions;
- public static class ResultExtensions
- {
- // Result 객체에 값이 없는 경우, onSuccess는 매개변수 없이 호출되고, onFailure는 Result 객체를 매개변수로 받아 호출됩니다.
- public static TOut Match<TOut>(
- this Result result,
- Func<TOut> onSuccess,
- Func<Result, TOut> onFailure
- ) {
- return result.IsSuccess ? onSuccess() : onFailure(result);
- }
- // Result<TIn> 객체에 값이 있는 경우, onSuccess는 매개변수로 TIn 값을 받아 호출되고, onFailure는 Result<TIn> 객체를 매개변수로 받아 호출됩니다.
- public static TOut Match<TIn, TOut>(
- this Result<TIn> result,
- Func<TIn, TOut> onSuccess,
- Func<Result<TIn>, TOut> onFailure
- ) {
- return result.IsSuccess ? onSuccess(result.Value) : onFailure(result);
- }
- }
|