Is it possible to make the following code compile in C#? I do compile similar in Java.
public interface IInterface
{
...
}
public class Class1 : IInterface
{
...
}
public abstract class Base<T> where T : IInterface
{
...
}
public class Class2<T> : Base<T> where T : IInterface
{
...
}
.
.
.
public SomeMethod()
{
List<Base<IInterface>> list = new List<Base<IInterface>>();
Class2<Class1> item = new Class2<Class1>();
list.Add(item); // Compile error here
}