Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > Виртуальные конструкторы? |
Автор: Bogdan1024 18.9.2007, 15:20 | ||||||
Как можно промаркировать конструкторы класса A, чтобы потом можно было писать такое:
И при этом не указывать конструктор в классе B с такой же сигнатурой. Всмысле, не писать такое:
Ибо конструкторов у класса A может быть миллион, и наследников от А может быть миллион... |
Автор: Jlekc 18.9.2007, 16:11 |
Ощибка в построении архитектуры. При нормальном построении таких вопросов не возникает |
Автор: Wanderer2019 18.9.2007, 16:12 |
ну.. гхм... насколько я понимаю такого сделать не получится... т.к. конструктор - это метод, описывающий элемент ДАННОГО типа. т.е. считается что для другого типа он должен быть иным, но никто тебе не мешает описать этот механизм с помощью дополнительного набора public методов родительского класса. Или же описать какую то логику в пропертях. может я ошибаюсь и все же есть какой то свпособ??? |
Автор: Jlekc 18.9.2007, 17:24 |
Кстати, как понимаю просто не хочеться при наследовании описывать конструкторы базового класа. Попробуй поставь ReSharper. В нем много подсказок и автозаполнений кода, возможно и это он сделает сам. |
Автор: mihryak 18.9.2007, 20:27 | ||
вопрос тут всё же о другом автору просто хочет найти возможность избежать написания параметризированных конструкторов унаследованных классов, дублирующих по сигнатуре один из базовых конструкторов и ничего, кроме "вызова" base(parameter), не делающих... |
Автор: tol05 18.9.2007, 21:23 | ||
не я C# придумал, но понять разработчиков могу... Я вот, например, так "хочу"
Как компилятор без явных вызовов базовых конструкторов отличит мой вариант от варианта Bogdan1024? |
Автор: altarvic 19.9.2007, 06:41 | ||
Так не подойдет?
Да, написал не подумавши. Такое не прокатит |
Автор: Alek86 19.9.2007, 08:57 |
не уверен, что понял до конца идею, но вопрос вдогонку: а что, если 10000 из того миллиона наследников не должны будут вызывать конструктор A? |
Автор: mihryak 19.9.2007, 09:50 |
проблемы будут и с закрытием для пользователя наследников расширенных конструкторов базового класса (часто, например, базовый абстрактный класс имеет конструкторы, которые в наследниках вызывать, так скажем, не стоит) |
Автор: Bogdan1024 19.9.2007, 17:18 |
Значит, не получится так. Жаль. |