每个继承接口的类都不应实现所有接口成员吗?

时间:2019-04-26 07:40:11

标签: c# generics interface

ClassTemp1ClassTemp2<T>有什么区别?

我认为实现接口的每个类都应实现所有接口成员,但是ClassTemp2<T>没有错误。为什么?

public interface ITemp : IComparable
{
    void Temp();
}

public class ClassTemp1 : ITemp // Error
{

}

public class ClassTemp2<T> where T : ITemp // No Error
{

}

1 个答案:

答案 0 :(得分:1)

ClassTemp2没有继承或实现任何接口。只有您的“参数类” T实现了它。

换句话说:ClassTemp2可能会对T及其方法起作用,特别是在其自己的方法中调用Temp()的{​​{1}}方法。

T没有“拥有”或“实现” ClassTemp2接口。只是,“参数类” ITemp起作用了,而不是T

我希望有帮助。