Метод ReflectionSerialization :: GetUninitializedObject () находится внутри clr / src / vm / refleinvocation.cpp, он слишком велик для публикации здесь. Вы можете взглянуть на загружаемый исходный код SSCLI20. Есть куча проверок ошибок, затем вызов необработанного метода Allocate () для выделения памяти для объекта. Нет вызова конструктора.

ыло любопытно о некоторых вещах сериализации, поэтому я начал ковырятьсяFormatterServices и нашел метод под названиемnativeGetUninitializedObject это фактически обрабатывает инициализацию (без вызова custructor) данного типа. Этот метод украшенextern ключевое слово и следующий атрибут:[MethodImpl(MethodImplOptions.InternalCall), SecurityCritical]

У меня возникает вопрос: где этот метод на самом деле существует? Какой код вызывает CLR для инициализации данного типа (без вызова конструктора)?

Ответы на вопрос(2)

Ваш ответ на вопрос