nclient / NClient

:dizzy: NClient is an automatic type-safe .Net HTTP client that allows you to call web service API methods using annotated interfaces or controllers without boilerplate code.
Apache License 2.0
43 stars 11 forks source link

Deconstructing results and responses #367

Closed smolchanovsky closed 2 years ago

smolchanovsky commented 2 years ago

It would be convenient to be able to deconstruct the return types, for example:

(TValue? value, IHttpResponse httpResponse) = client.GetHttpResponse(); // returns IHttpResponse<TValue>
(TValue? value, TError? error) = client.GetHttpResponse(); // returns IHttpResponseWithError<TValue, TError>
(TValue? value, TError? error, IHttpResponse httpResponse) = client.GetHttpResponse(); // returns IHttpResponseWithError<TValue, TError>

Similarly for IResults and IResponses.

See: https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/functional/deconstruct