Если бы мне пришлось это сделать, я, вероятно, пошел бы в Reflector и нашел бы класс, который я хочу изменить, а затем скопировал бы и вставил его в проект в VS.На этом этапе я бы скомпилировал, выяснил, от каких других внутренних / частных классов он зависит, и скопировал их.После итерации пару десятков раз у меня будет что-то, что компилируется без ошибок, и я могу начать интегрировать это в остальную часть моей системы.
Это не красиво, но я не думаю, что есть какой-либо другой способ расширениявнутренний или закрытый класс.
Конечно, вы можете сделать все это, только обнаружив, что у конструктора есть какой-то особый код, который ищет конкретный класс, который вы хотите расширить, чтобы получить желаемое поведениеневозможно.