[英]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.