Gibt es eine Möglichkeit eines privilegierten Zugang zu einer .NET-Assembly nur auf einer anderen Anordnung zu gewähren?
-
22-07-2019 - |
Frage
Ich habe eine Klassenbibliothek, Montag und einigen Test-Code. Da der Test-Code an dem Interna der Klasse zu spähen braucht, ist es Teil der Anordnung sein muss und weil ich will es nicht haben laufen, indem sie es selbst ist, braucht es etwas öffentlich, so dass eine andere Anordnung haben kann rufen sie es. Dieser landet auf einige Code anheftet, die dort nicht an der Hauptbaugruppe sein sollte.
Was würde Ich mag es, alle Test-Code in der anderen Baugruppe zu platzieren und es irgendwie Privilegien zu gewähren Interna der Klasse zuzugreifen. Ich brauche nicht diesen Teil des Endprodukts zu sein, nur als Teil des Debug / private baut.
Ist das möglich?
Lösung
Andere Tipps
Sie wollen System.Runtime.CompilerServices.InternalsVisibleTo ()
Sie können auch Reflexion verwenden, um interne / private Mitglieder zugreifen. Dies ist, wie MSTest tut es.