繁体   English   中英

C#通用类/类型的列表,作为类的属性或成员

[英]C# List of generic class/type as a property or memeber of a class

我不确定如何使用C#创建一个保存通用数据类型元素的List

当前,我在代码中定义了两个非常相似的类:

public class ClassOne
{
    public int draw { get; set; }
    public int recordsTotal { get; set; }
    public int recordsFiltered { get; set; }

    public List<SpecialClass> data { get; set; }
}

public class ClassTwo
{
    public int draw { get; set; }
    public int recordsTotal { get; set; }
    public int recordsFiltered { get; set; }

    public List<YTDTRNSLine> data { get; set; }
}

我目前的想法是将这两个类别归纳为一个类别。 由于唯一的区别是List的属性之一。

我是否可以使用以下方式定义List

public List<object> data {get;set;}

当我尝试使用List<object> ,我尝试执行以下操作:

ClassOne classOneObj = new ClassOne();
classOneObj.data = myFunctionHere();

其中myFunctionHere()返回我自己定义的数据类型/类的List 当我这样做时,将显示此错误消息:

Cannot implicitly convert type List<MyOtherClass> to List<object>. 

截至目前,我一直处于困境。 如何创建通用类型的列表? 先感谢您!

如果这些类是如此相似,我将完全加入它们。 data类上的不同类型虽然存在问题,但是您可以使用泛型来解决:

public class ClassOne<T>
{
    public int draw { get; set; }
    public int recordsTotal { get; set; }
    public int recordsFiltered { get; set; }

    public List<T> data { get; set; }
}

然后将变量定义为:

ClassOne<SpecialClass> classOneObj = new ClassOne<SpecialClass>();
ClassOne<YTDTRNSLine> classTwoObj = new ClassOne<YTDTRNSLine>();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM