DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: VB.NET | Thema: Objekt über den Klassennamen (als string) erstellen | Von: G. Guest ( 09.01.2006 11:37)

Hallo,

normalerweise erstellt man ein Objekt aus einer Klasse
wie folgt:

Public Class cKlasse
...'irgendeine Klasse
end class

dim Kl as cKlasse = new cKlasse
oder meinetwegen auch so:
dim KL as new cKlasse

Ich will jetzt aber folgendermaßen ein Objekt erstellen:

dim KL as object = ErzeugeObject("cKlasse")

Dabei steht "ErzeugeObject" für die Routine(n), die ich suche.

(Microsoft.VisualBasic.CreateObject ist nur für ActiveX- Anwendungen geeignet)

Hintergrund:
===========
Ich habe eine Anwendung, in der ich ziemlich viele Reports (Crystal Report) habe.
Aus einer xml-Tabelle heraus bestimme ich den gewünschte
ReportklassenName:
Diese sieht als vereinfachtes Beispiel so aus:

Seite ReportklassenName
1 Report_Hans
2 Report_Hugo
3 Report_Emil
4 Report_Otto

<xml>
<Tabelle>
<Seite>1</Seite>
<ReportklassenName>Report_Hans</ReportklassenName>
</Tabelle>
<Tabelle>
<Seite>2</Seite>
<ReportklassenName>Report_Hugo</ReportklassenName>
</Tabelle>
<Tabelle>
<Seite>3</Seite>
<ReportklassenName>Report_Emil</ReportklassenName>
</Tabelle>
<Tabelle>
<Seite>4</Seite>
<ReportklassenName>Report_Otto</ReportklassenName>
</Tabelle>
</xml>

Daraus will ich dann eine Instanz bilden:
(den Quelltext zur Abfrage der Tabelle lasse ich weg..)

dim ReportklassenName as string '(aus xml- Tabelle ermitteln)
dim obj as object = ErzeugeObject(ReportklassenName)
dim rpt as ReportClass = ctype(obj, ReportClass)

wobei die Reportklasse aus der obigen Tabelle ermittelt wurde und die Werte:
"Report_Hans", "Report_Hugo", "Report_Emil",
"Report_Otto"
annehmen kann.


Frage dazu:
==========
Kann es sein, dass man hier mit System.Reflection
arbeiten muß ?


Danke und Gruß
Bernd.





Betreff Von Datum
Re: Objekt über den Klassennamen (als string) erstellen
Mittlerweile habe ich die Lösung:<br>================================<br><br>Dim asm As System.Reflection.Assembly<br>asm = System.Reflection.Assembly.Load("Assemblyname")<br>Dim obj As Object = <br> ...
G. Guest 09.01.2006 13:27

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG