gpt4 book ai didi

c# - .net(C#) 中的通用类型参数,其值可以是指定类型之一?

转载 作者:行者123 更新时间:2023-11-30 19:07:28 25 4
gpt4 key购买 nike

假设我有类 ClassAClassBClassC。它们都继承自 object,并且没有实现任何接口(interface)。

是否可以在 C# 中声明将采用通用参数 T 并且 T 可以是 ClassA 的通用接口(interface)B 类 还是 C 类

所以我会有类似的东西

public interface MyInterface<T> where T: ClassA | ClassB | ClassC {
...
}

如果可能的话语法是什么?


注意:我知道我可以让那些类 ClassAClassBClassC 来实现一些接口(interface)和而不是将它用作 T 的约束,但在我创建一个没有方法的接口(interface)之前,我想知道没有更好的方法。

最佳答案

没有更好的办法。

您只能指定一个基类或接口(interface)作为该约束。

但是让我问你这个问题,如果它们没有任何共同点,你为什么要限制这 3 个类?既然你说你可以限制到一个接口(interface)没有方法,那么你实际上从这些类中使用了什么?

有了接口(interface)约束,唯一您知道的是所使用的对象实现了该接口(interface)。

关于c# - .net(C#) 中的通用类型参数,其值可以是指定类型之一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5432040/

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