使用泛型返回类

还有两周就要除夕过新年,今天来篇博客吧。越来越发现自己以前写的代码好垃圾~

好,言归正传。

场景:当我们需要返回同样的实体时,定义如下类,那么可以不用针对每次的返回结果来重复定义类。

    /// <summary>
    /// http响应实体。Serializable表明可以被序列化,但不能被继承
    /// </summary>
    [Serializable]
    public class BaseResponse<T>
    {
        /// <summary>
        /// //返回状态,正常是200
        /// </summary>
        public int? code { get; set; }

        /// <summary>
        /// 后台消息
        /// </summary>
        public string message { get; set; }

        /// <summary>
        /// 返回的数据
        /// </summary>
        public T data { get; set; }
    }

使用该返回类:

1.当返回的信息只需要 状态码code 和 返回信息message 不需要 data 时,

BaseResponse<object> response = new BaseResponse<object>();
response.code = 201;
esponse.message = "用户未登录";
return Json(response);

2.当返回的信息需要 data时,当 data 是需要返回的一名学生的信息,来建个 Student 学生类:

public class Student
{
     public string name{get; set;} 
     public string gender{get; set;}       
}

那么返回一个Student类型的 zhangsan,我们这么使用:

BaseResponse<Student> response = new BaseResponse<Student>();
response.code = 201;
response.message = "用户未登录";
response.data = zhangsan;
return Json(response);
原文地址:https://www.cnblogs.com/HansZimmer/p/14335313.html