i have this code:
public interface IDataScopeType { }
public interface IDataProcessor<in T> where T : IDataScopeType { }
public class DataScopeType : IDataScopeType { }
public class DataProcessor : IDataProcessor<DataScopeType> { }
public class Executor
{
List<IDataProcessor<IDataScopeType>> processors;
public Executor()
{
processors = new List<IDataProcessor<IDataScopeType>>
{
new DataProcessor(),
};
}
}
Please explain why the compiler shows an error "Cannot convert from DataProcessor to IDataProcessor" when I try to add a new item to the list? Or am I doing something wrong?