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