Berufung auf Private / Protected-Methoden Per Reflection Von Der Gleichen Objekt-Instanz (oder Base)

Ist es möglich, Aufruf einer geschützten Methode per reflection. Ich bin mit diesem:

 Me.GetType.InvokeMember(Stages(CurrentStage), 
                         Reflection.BindingFlags.InvokeMethod, 
                         Nothing, 
                         Me, 
                         Nothing)

Die immer ruft eine Methode ohne Parameter oder return. Die Idee ist, dass der Benutzer des Objekts (transaktionale Verarbeitung von business Logik) erbt die Basisklasse fügt in einer Last von privaten Methoden, um Feuer. Dann fügen Sie diese Methode, die Namen auf einer Liste in der Reihenfolge, wie Sie möchte, Sie feuerte, und der obige code kümmern gefeuert.

Es funktioniert gut mit öffentlichen Methoden, aber nicht mit private oder protected-Methoden in der gleichen Klasse (Geschützt, weil ich einige "standard" - pre gebaut Methoden hinzufügen, um die Basis-Klasse). Realistisch, ich könnte die Methoden public und mit ihm getan werden, aber mein innerer nerd nicht mir erlauben, so zu tun...

Ich nehme an das ist ein Sicherheits-feature. Gibt es eine Möglichkeit das zu umgehen oder hat jemand irgendwelche Vorschläge auf, wie Sie gehen, aber halten Sie meine lecker, lecker Sichtbarkeit Modifikatoren in Takt?

(HINWEIS: die IN VB.NET aber ein C# - Antwort ist in Ordnung, wenn das ist, was Sie mit vertraut sind).

InformationsquelleAutor deanvmc | 2012-01-05
Schreibe einen Kommentar