首页 > 解决方案 > c# 通用属性

问题描述

我正在尝试在 C# 中创建一个可用于返回任何类型数据的类。

public class ResponseObject
{
    public <T> data { get;set }
    public Boolean Success { get; set; }
    public string Message { get; set; } 
}

当我的应用程序向 API 发送请求时,该对象将成为响应对象的包装器。

我已经尝试对此进行研究,但找不到与我正在尝试做的事情相关的任何教程。

这在 C# 中可能吗?响应对象将被转换为 JSON 字符串,然后作为响应发送。

我不会对这个对象进行任何处理,因为这已经完成了。我只想将数据放在 ResponseObject 中并发送

我想做一些类似的事情:

var customers = repository.GetCustomers();
var orders = repository.GetOrders();
if(customers)
{
  success = true;
  message = "";
}
else{
   success = false;
   message = "failed to get customers";
}
if(orders)
{
  orderssuccess = true;
  ordersmessage = "";
}
else{
   orderssuccess = false;
   ordersmessage = "failed to get orders";
}
ResponseObject customerResponse = new ResponseObject{
    data = customers,
    success = success,
    message = message 
};
ResponseObject orderResponse = new ResponseObject{
    data = orders,
    success = orderssuccess,
    message = ordersmessage 
};

标签: c#generics

解决方案


您需要将 <T> 添加到类中并使用 T 作为属性的类型。

public class ResponseObject<T>
{
    public T data { get; set; }
    public Boolean Success { get; set; }
    public string Message { get; set; } 
}

推荐阅读