簡體   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