В проекте C# мне нужно добавить много классов, каждый из которых имеет 10 общих свойств, каждый из которых добавляет несколько конкретных свойств. Ожидается, что число общих свойств будет расти до 20.Visual Studio/C#: включить/объединить файлы
Я хотел бы:
- Есть базовый класс/файл, который будет содержать все общие свойства
- Создать те многие классы без наследования базового класса, а новые классы имеют общие свойства из базового класса/файла.
- В «производных» классах я могу добавить новые свойства.
- В будущем, когда список общих свойств будет расти, я бы просто отредактировал базовый класс/файл и автоматически вставил их во всех классах «потомок».
В принципе, мне нужно вставить заполнитель somewhow в моих файлах, ссылки на внешний файл и добавить содержимое в классы во время компиляции, так же, как #include
директива работает в C++
.
Так что мне нужно наследование без образования классов, это имеет смысл.
«Так что мне нужно наследование без образования классов, это имеет смысл». Не без объяснения причин. – Ralf
Без использования T4 шаблонов нет способа. C# не имеет эквивалентного кода. Хотя с помощью компилятора Rosalyn вы можете написать плагин-компилятор, который будет искать эту директиву и подставить содержимое этого файла, где вы хотите – thorkia
Вы можете использовать командную строку для предварительной сборки и пост-сборки для запуска вашей программы (которая будет действовать как препроцессор), который добавляет свойства в файлы перед сборкой и удаляет после сборки. – cubrr