我可以收到此类型的通用类型或列表

时间:2018-03-28 14:23:39

标签: c# asp.net generics inheritance

我有类BaseEntity,如下所示。

public abstract class BaseEntity : Notifiable
{
}

我想创建一个接收泛型类型的类,这个类型可以是BaseEntity,也可以是BaseEntity的IEnumerable吗?

public abstract class BaseDTO<T> where T : BaseEntity OR IEnumerable<BaseEntity>
{}

1 个答案:

答案 0 :(得分:0)

我不确定这是最好的答案,但我这样做。

我创建了一个接口IBaseDTO并实现了两个类(BaseDTO和BaseListDTO)

public interface IBaseDTO
{
}

public abstract class BaseDTO<T> : IBaseDTO
        where T : BaseEntity
{
}

public abstract class BaseListDTO<T> : IBaseDTO
    where T : IEnumerable<BaseEntity>
{
}