Приведенный ниже код дает ошибку компиляции времени:Кастинг Generic абстрактной базы - ковариационная
Ошибка 170 Не удается преобразовать тип «Tests.ChangeListener» до «Tests.BaseListener»
Как я могу получить это составить?
namespace Tests
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void ShouldCompile()
{
BaseListener<IChange> listener = (BaseListener<IChange>)new ChangeListener();
}
}
public interface IChange
{
}
public interface ISpecificChange : IChange
{
}
public abstract class BaseListener<T>
where T : IChange
{
}
public class ChangeListener : BaseListener<ISpecificChange>
{
}
}
Это исправляет ошибку компилятора. На самом деле мне нужно было сделать экспликацию ChangeListener для слушателя. Но во время выполнения ошибка «Невозможно передать объект типа ...» –
LL020