gpt4 book ai didi

C# generics - 我可以让 T 成为两个选择之一吗?

转载 作者:IT王子 更新时间:2023-10-29 04:33:24 24 4
gpt4 key购买 nike

假设我有以下类层次结构:

Class A {...}

Class B : A {...}

Class C : A {...}

我目前拥有的是

Class D<T> where T : A {...}

但我想要一些形式

Class D<T> where T in {B,C}

这是由于一些奇怪的行为,我不负责 B 和 C 具有不在 A 中的通用方法,但能够在 T 上的 D 中调用它们会很好。

注意:我无权访问 A、B 或 C 来编辑它们

最佳答案

你需要为B和C中的公共(public)方法定义一个接口(interface)(姑且称之为Ibc),让B和C实现这个接口(interface),然后你可以这样写:

Class D<T> where T : A, Ibc {...}

关于C# generics - 我可以让 T 成为两个选择之一吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3085909/

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