Ответ 1
В общем, вы не должны этого делать - если тип был помечен как внутренний, это означает, что вы не собираетесь использовать его вне сборки. Его можно удалить, изменить и т.д. В более поздней версии.
Однако отражение позволяет вам обращаться к типам и членам, которые не являются общедоступными, - просто найдите перегрузки, которые принимают аргумент BindingFlags
, и включите BindingFlags.NonPublic
в флаги, которые вы передаете.
Если у вас есть полное имя типа (включая информацию о сборке), тогда нужно работать только с вызовом Type.GetType(string)
. Если вы знаете сборку заранее и знаете общедоступный тип внутри этой сборки, то использование typeof(TheOtherType).Assembly
для получения ссылки на сборку обычно проще, вы можете вызвать Assembly.GetType(string)
.