vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Activator.CreateInstance für Nicht-Public Konstruktoren? 
Autor: keco
Datum: 09.05.09 19:58

Hallo,

wie kann ich mit Activator.CreateInstance einen Konstruktor aufrufen, der beispielsweise mit Friend deklariert wurde? Ich habe eine Assembly in welcher eine Klasse mit einem "Friend Sub New(..)" vorliegt und einem UserControl, aus welcher eine Instanz dieser Klasse auf diese Art und Weise erstellt werden soll. Dieses UserControl befindet sich anschließend in der Form einer anderen Assembly, die ich aufrufe. Aber der Konstruktor ist mit dieser Struktur dennoch für das UserControl sichtbar.

Als Exception bekomme ich, dass der Konstruktor nicht gefunden werden kann.

PS: Ich habe es hiermit schon versucht:
pInstance = CType(Activator.CreateInstance(pMyClassType, _
  Reflection.BindingFlags.NonPublic, Nothing, args.ToArray, Nothing), MyClass)
Args ist dabei das Array der Parameter, die Datentypen stimmen überein.

PPS: Ich habe mehrere Konstruktoren. Einer erwartet 7 Parameter, ein weiterer 10. Der mit den 7 Parametern funktioniert, aber bei dem mit 10 geht es nicht. Ich habe logischerweise die 3 weiteren Parameter (jeweils als Integer) an args angehängt, aber er meldet immer, dass er den Konstruktor nicht finden kann obwohl ich diesen testweise auf Public gesetzt habe. Auch hier stimmen die Datentypen, es ist die richtige Klasse, die richtige Assembly. Also verschaut habe ich mich nicht. Weiß jemand Rat?

Beitrag wurde zuletzt am 09.05.09 um 20:18:51 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Activator.CreateInstance für Nicht-Public Konstruktoren?2.583keco09.05.09 19:58
Lösung gefunden: Activator.CreateInstance für Nicht-Public K...1.033keco09.05.09 20:36

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel