ich versuche gerade auf eine als internal gekennzeichnete Klasse und deren internal Members zuzugreifen. Ich denke da werde ich wohl mit Reflection arbeiten müssen. Ich hoffe Ihr könnt mich dabei unterstützen.
Durch einen Dienst (ssrs Subscription) bekomme ich ein notification Object geliefert, das nur ganz wenig Informationen nach drausen liefert. Im Debugger kann man es zum Typ Microsoft.ReportingServices.Library.NotificationImpl casten, so dass man auf die interne Klasse und somit auch auf die internen Members zugreifen kann:
Wenn Du schon so weit bist: gib GetField als zweiten Parameter BindingFlag.NonPublic (und evtl. weitere Flags) mit, sonst bekommst Du nur public member.
Wichtig ist in beiden Fällen das "BindingFlags.NonPublic" was den Zugriff auf private und internal Felder, Constructoren, Methoden etc. erlaubt bzw. diese mit listet.
Der Zugriff auf internal und private Klassen ist auch möglich.
Type type = notification.GetType();
FieldInfo fi = type.GetField("m_parameters");
Object test = fi.GetValue(notification);
Hier bleibt "fi" leider noch null, obwohl by "type" der korrekte Typ angezogen wird....