簡體   English   中英

C# 中的雙重泛型類型

[英]Doubly Generic Types in C#

我是 C# 新手,很抱歉出現語法問題,但我在任何地方都找不到答案。 我正在嘗試使用以下類型架構制作類型

public abstract class MyAbstractType {...}
public class MyFirstType : MyAbstractType {...}
public class MySecondType : MyAbstractType {...}

public abstract class AbstractHeap<T> {...}
public class MyFirstHeap : AbstractHeap<MyFirstType> {...}
public class MySecondHeap : AbstractHeap<MySecondHeap> {...}

public class MetaHeap<T1,T2> : AbstractHeap<T1> where T2 : AbstractHeap<T3> where T3 : MyAbstractType {...}

最后一個定義給我帶來了問題。 這只是我沒有意識到的語法問題,還是 C# 中不允許這種結構?

您快到了。 此聲明中有三個類型參數,但您只將兩個放在MetaHeap<>大括號中而忘記了T3

public class MetaHeap<T1,T2,T3> : AbstractHeap<T1> 
    where T2 : AbstractHeap<T3> 
    where T3 : MyAbstractType {...}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM