【发布时间】:2018-03-28 14:23:39
【问题描述】:
我有像下面这样的 BaseEntity 类。
public abstract class BaseEntity : Notifiable
{
}
我想创建一个接收泛型类型的类,这个类型可以是 BaseEntity 或 BaseEntity 的 IEnumerable 这可能吗?
public abstract class BaseDTO<T> where T : BaseEntity OR IEnumerable<BaseEntity>
{}
【问题讨论】:
-
为什么在这里使用泛型?只需使用
IEnumerable<BaseEntity>,如果它是单个元素,则您的可枚举是单个元素。将它作为基类或基类的枚举是没有意义的。 -
你不能这样做。但是@RonBeyer 是对的,您为什么想要 这样做?这似乎是一个经典的XY problem
-
我认为使用 Base 或 enumerable 对继承类的适用性更简单
标签: c# asp.net generics inheritance