gpt4 book ai didi

c# - 如何实现一个类的泛型和非泛型版本?

转载 作者:太空狗 更新时间:2023-10-29 21:28:37 25 4
gpt4 key购买 nike

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

public class ServerSentEvent : ServerSentEvent<NoAdditionalClientInformation>

public class ServerSentEvent<ClientInfo> : IServerSentEvent

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

没有空类还有其他方法吗?

最佳答案

通常你会反过来做:

public class ServerSentEvent : IServerSentEvent
{}

public class ServerSentEvent<ClientInfo> : ServerSentEvent
{}

这样,通用版本是非通用版本的更具体的子类型,允许您在其中放置更多信息,但在需要非通用类型的任何地方都使用通用类型。

如果你按照你的建议去做,你将需要指定一些默认类型;如果你想不出一个默认的,它可能是错误的顺序,但通常它可能取决于具体情况。

关于c# - 如何实现一个类的泛型和非泛型版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14353066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com