创建具有通用List对象的接口

Ref*_*gee 5 c# generics interface

我有一个这样的数据结构:

public class HighLevelConversionData
{
    public int customerID {get;set;}
    public string customerName {get;set;}
    public decimal amountSpent {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

这些数据将由第三方和GWT前端访问,这意味着我将使用Web服务来移动数据.客户也是与开发团队不同的本地化,因此我希望将状态消息作为返回数据项的包装器发送,如下所示:

public class HighLevelConversionDataWrapper
{
    public int StatusCode {get;set;}
    public string StatusMessage {get;set;}
    public List<HighLevelConversionData> {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

但是我宁愿为这些方法继承一个接口,以确保我们总是以相同的方式发送状态代码和消息.但是我对泛型如何在界面中工作的理解似乎让我失望了.我相信应该是这样的:

public Interface IServiceWrapper
{
    public int StatusCode {get;set}
    public string StatusMessage {get;set;}
    public List<T> ReturnedData {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

但是我来这里不见了.

Rob*_*Rob 8

像这样的东西?

public class ConcreteWrapper : IServiceWrapper<HighLevelConversionData>
{
    public int StatusCode {get;set;}
    public string StatusMessage { get; set; }
    public List<HighLevelConversionData> ReturnedData { get; set;}
}

public class HighLevelConversionData
{
    public int customerID {get;set;}
    public string customerName {get;set;}
    public decimal amountSpent {get;set;}
}

public interface IServiceWrapper<T>
{
    int StatusCode { get; set; }
    string StatusMessage { get; set; }
    List<T> ReturnedData { get; set;}
}
Run Code Online (Sandbox Code Playgroud)