В чем разница между ClassTemp1
и ClassTemp2<T>
?
Я думал, что каждый класс, который реализует интерфейс, должен реализовывать все члены интерфейса, но ClassTemp2<T>
не имеет ошибки. Почему?
public interface ITemp : IComparable
{
void Temp();
}
public class ClassTemp1 : ITemp // Error
{
}
public class ClassTemp2<T> where T : ITemp // No Error
{
}