c# – 如何定义实现接口并限制类型参数的泛型类?

class Sample<T> : IDisposable // case A
{
    public void Dispose()
    {
        throw new NotImplementedException();
    }
}

class SampleB<T> where T : IDisposable // case B
{
}

class SampleC<T> : IDisposable, T : IDisposable // case C
{
    public void Dispose()
    {
        throw new NotImplementedException();
    }
}

情况C是情况A和情况B的组合。这是可能的吗?
如何使案例C正确?

首先实现的接口,然后通用类型约束分隔在哪里:

class SampleC<T> : IDisposable where T : IDisposable // case C
{        //                      ↑
    public void Dispose()
    {
        throw new NotImplementedException();
    }
}
http://stackoverflow.com/questions/6223075/how-do-i-define-a-generic-class-that-implements-an-interface-and-constrains-the

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 如何定义实现接口并限制类型参数的泛型类?