Приведение типов - C# (180976)
Формулировка задачи:
Проблема с приведениями типов
Пробовал писать оператор преобразования для класса А1, но в переменной null и
, как правильно привести?
Листинг программы
- public abstract class A<T> where T : B{}
- public class A1:A<B1>{}
- public abstract class B{}
- public class B1:B{}
- public class B2:B{}
- void Main(){
- var a1 = new A1();
- var a=(A<B>)a1;//ошибка
- var ab1= (A<B1>)a1;//работает
- }
Листинг программы
- (A<B>)(object)a1
Решение задачи: «Приведение типов»
textual
Листинг программы
- public interface IA<out T> where T : B {}
- public abstract class A<T> : IA<T> where T : B{}
- public class A1:A<B1>{}
- public abstract class B{}
- public class B1:B{}
- public class B2:B{}
- void Main(){
- var a1 = new A1();
- IA<A> a=a1;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д