一种方法多种接口返回类型

Die*_*sma 2 c#

假设我有

public class ClassA : Ione, Itwo
public class ClassB : Ione, Itwo
public class ClassC : Ione, Itwo
Run Code Online (Sandbox Code Playgroud)

方法MethodA返回ClassA,ClassB或ClassC的实例。方法返回类型可以是Ione或Itwo。

我该如何实现?

我试过使用这样的泛型:

public T MethodA<T>(myEnum e) where T : Ione, Itwo
Run Code Online (Sandbox Code Playgroud)

但是键入时return (T)new ClassA();出现错误“无法将ClassA转换为T”。

谢谢。

zmb*_*mbq 5

结合两个接口:

interface ITogether : Ione, Itwo { }
Run Code Online (Sandbox Code Playgroud)

并将其用作返回类型。

您可能需要类来一起实现而不是Ione和Itwo,但是您应该同时尝试两种方法。