簡體   English   中英

如何實現類的泛型和非泛型版本?

[英]How to implement both generic and non-generic version of a class?

我想實現我的泛型類的非泛型版本。 像這樣。

public class ServerSentEvent : ServerSentEvent<NoAdditionalClientInformation>

public class ServerSentEvent<ClientInfo> : IServerSentEvent

要解決這個問題,我必須制作一個虛擬/空類--NoAdditionalClientInformation。

沒有空類,還有另一種方法嗎?

通常你只是反過來做:

public class ServerSentEvent : IServerSentEvent
{}

public class ServerSentEvent<ClientInfo> : ServerSentEvent
{}

通過這種方式,通用版本是非通用版本的更明確的子類型,允許您在其中放入更多信息,但是如果需要非泛型類型,則使用泛型類型。

如果按照建議的方式進行,則需要指定一些默認類型; 如果你不能想到一個默認的,它可能是錯誤的順序,但一般來說它可能取決於具體情況。

暫無
暫無

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

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