我想实现我的泛型类的非泛型版本。像这样。

public class ServerSentEvent : ServerSentEvent<NoAdditionalClientInformation>

public class ServerSentEvent<ClientInfo> : IServerSentEvent

为了解决这个问题,我必须创建一个虚拟/空类-NoAdditionalClientInformation。

没有空类,还有另一种方法可以做到这一点吗?

最佳答案

通常,您会采用另一种方法:

public class ServerSentEvent : IServerSentEvent
{}

public class ServerSentEvent<ClientInfo> : ServerSentEvent
{}

这样,泛型版本是非泛型版本的一种更指定的子类型,可让您在其中添加更多信息,但可以在需要非泛型类型的任何地方使用泛型类型。

如果按照建议进行操作,则必须指定一些默认类型。如果您无法想到默认订单,则可能是错误的顺序,但总的来说,可能要视情况而定。

10-04 10:49