XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEExtension.NetCore.ServerInteractive

[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig

公开
关注 0 Fork 0 Star 0
UTF-8
using System.Net;
using XFEExtension.NetCore.ServerInteractive.Interfaces.Requester;

namespace XFEExtension.NetCore.ServerInteractive.Models.RequesterModels;

/// <summary>
/// 客户端请求结果
/// </summary>
/// <typeparam name="T"></typeparam>
public class ClientRequestResult<T> : IRequestResult<T>
{
    /// <inheritdoc/>
    public T Result { get; set; }
    /// <inheritdoc/>
    public HttpStatusCode StatusCode { get; set; } = HttpStatusCode.OK;
    /// <inheritdoc/>
    public string Message { get; set; } = string.Empty;
    /// <inheritdoc/>
    object? IRequestResultBase.Result { get => Result; set => Result = (T)value!; }

    /// <summary>
    /// 转换为指定泛型
    /// </summary>
    /// <typeparam name="TF">指定泛型</typeparam>
    /// <returns></returns>
    public ClientRequestResult<TF> TryConvertTo<TF>() => new()
    {
        Message = Message,
        StatusCode = StatusCode,
        Result = Result is not null ? (TF)(object)Result : default!
    };
}