Этот вопрос, вероятно, задавали сотни раз, но опять же: есть ли в .NET концепция загрузчиков классов. И позвольте мне пояснить проблему: я не хочу вводить класс с несколькими дополнительными элементами кода, необходимыми для того, чтобы иметь возможность подключать объекты этого класса к разрабатываемой структуре.
В Java я делаю это с помощью загрузчика классов, который считывает байтовый код, применяет необходимые изменения и предоставляет класс в качестве экземпляра типа для приложения. Теперь объекты можно создавать путем отражения.
Это наверняка возможно и в .NET путем размышления. Итак, использование Type :: GetType () вызывает TypeResolver текущего экземпляра AppDomain. В преобразователе загружается исходный тип, который затем используется в качестве базового класса производного типа, созданного в динамической сборке. Это немного сложно, потому что производные типы не находятся в одной сборке, поэтому внутренние классы непросто обрабатывать. Но это выполнимо и стабильно.
А теперь называйте меня педантичным немцем, у меня загружены исходный тип и производный тип, тогда как в Java у меня есть только модифицированный тип. Смогу ли я сделать это и в .NET?
sealed
и что любые методы, которые вы хотите переопределить,virtual
. - person casperOne   schedule 21.11.2012