En général, vous ne devrait pas Si un type a été marqué comme interne, cela signifie que vous n'êtes pas censé l'utiliser en dehors de l'assemblage. Il pourrait être supprimé, modifié, etc. dans une version ultérieure.
Cependant, la réflexion fait vous permettent d'accéder à des types et à des membres qui ne sont pas publics - il suffit de rechercher les surcharges qui prennent un fichier BindingFlags
et inclure l'argument BindingFlags.NonPublic
dans les drapeaux que vous passez.
Si vous avez le pleinement qualifié du nom du type (y compris les informations d'assemblage), il suffit alors d'appeler Type.GetType(string)
devrait fonctionner. Si vous connaissez l'assemblage à l'avance, et si vous connaissez un type public dans cet assemblage, alors l'utilisation de la fonction typeof(TheOtherType).Assembly
pour obtenir la référence de l'assemblage est généralement plus simple, alors vous pouvez appeler Assembly.GetType(string)
.