#c_sharp #ооп #наследование #generics
Как написать наследование обычного класса от дженерика или это не совсем правильная практика? using System; public class Program{ public static void Main(){ var obj1 = new Child(25); obj1.objectType(); } } class Child : Parent { public Child(int num){ this.obj = num; } } class Parent { T obj; public Parent(T obj) { this.obj = obj; } public void objectType(){ Console.WriteLine("Тип : " + typeof(T)); } }
Ответы
Ответ 1
Наследовать от обобщенного класса можно и такое решение оправдано. Но при этом нужно либо чтобы новый класс тоже был обобщенным, либо указывал конкретный тип параметра. Т.е. либо: class Child: Parent { public Child(T num) : base(num) { } } Либо: class Child : Parent { public Child(int num) : base(num) { } } P.S. Как верно заметил @Grundy, нужно вызывать базовый конструктор.
Комментариев нет:
Отправить комментарий