Попал в немного нестандартную ситуацию. Вводная такова:
Есть группа файлов, в каждом из которых — стопка классов. Файлы с классами генерируются автоматически, на основе xml-ек, при помощи специальной тулзы, соответственно, править код в них мы не имеем права, так как при следующей перегенерации — все пропадет.
Радует одно — все классы объявлены как partial, соответственно недостающий код к ним можно дописывать, создавая новые файлы. Раньше делали просто — для каждой связки xml+сгенереный cs — писали имя_файла_ext.cs, в котором и дописывали все, что надо.
Но, проект разросся, а структура xml-ек, соответственно, как и сгенеренных классов — почти не отличаются, а уж ext-файлы вообще почти идентичны. Итого, выросла стопка копипащенного кода, что есть плохо.
Отсюда возникает вопрос — как уйти от множественных ext файлов, перейдя к одному какому-то. Соответственно, в идеале бы получить возможность создавать объект не какого-то конкретного типа из сгенеренных, а некоего надкласса, и на месте уже кастовать его к одному из сгенеренных, получая дополнительный функционал. Но, сгенеренные классы — уже наследованы от неких стандартных классов, а множественного наследования в C# нет.
Вот и вопрос — вообще возможно решить эту проблему?