是否可以在C#中使用从另一个泛型类型派生的泛型类型?

时间:2017-02-10 19:33:31

标签: c# generics generic-programming

我需要写一个类:

public class DuplicateDoesNotExistValidation<T, TId> : IRepositoryValidation<T>
    where T : DomainEntity<TId>
{
...
    public Error Validate(T entity)
    {

IRepositoryValidation的方法为Error Validate(T entity)

这很有效,但看起来很笨,因为我们只指定了两种通用类型T和TId,当我只需要一个时,TId。

我不能:

public class TestDuplicateDoesNotExistValidation<T, TId> : IRepositoryValidation<DomainEntity<TId>>

因为这意味着IRepositoryValidation接口接受具体的DomainEntity类。

我也不能:

Type T = typeof(DomainEntity<TId>);

因为它是一个变量,不能用来定义父类。

有什么想法吗?

0 个答案:

没有答案