![](/img/trans.png)
[英]TypeScript: Equivalent of C#'s Generic Type Constraint for extending class?
[英]C# equivalent syntax for Java generic class type
我在下面的C#中尋找Java代碼的等效語法。
ArrayList<Class <? extends A>> list = new ArrayList<Class<? extends A>>();
// Sample usage
list.add(A.class);
list.add(B.class); // B extends A
上面的列表基本上只接受A(或A)的子類作為輸入。
預先感謝。
C#中沒有等效的方法。 C#中的泛型在各種方面都與Java中的泛型有很大不同,包括協方差和相反方差的工作方式。
您可能具有對類型參數施加約束的通用方法(或通用類型),如下所示:
public void Foo<T>(IList<T> list) where T : SomeClass
要么
public class Foo<T> where T : SomeClass
...但是Type
本身(相當於.NET的Class<T>
)是非泛型的,因此無法說“這是擴展A
的類型的列表”。
如果您向我們提供有關您要實現的目標的更多信息,我們可能會為您提供更多幫助。
C#語言從2.0版開始具有泛型:
http://msdn.microsoft.com/en-us/library/512aeb7t.aspx
類型約束可以在這里找到:
http://msdn.microsoft.com/en-us/library/d5x73970.aspx
我主要是Java程序員,而不是C#程序員,所以我不確定您需要的確切語法,但是您應該可以從那里找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.