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-2025
 
zurück

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

C# Ecke
TIPP: Generic Type zur Laufzeit kreiren 
Autor: ModeratorDaveS (Moderator)
Datum: 11.01.06 10:03

Es gibt kein Problem einen Generic Type anzulegen wenn der Typ bekannt ist

List<int> il = new List<int>();

z.B. kreirt ein List<int>.

Was aber wenn der Typ nur zur Laufzeit feststeht?

So wird's gemacht:
Hier bekommen wir eine Type-Variable angegebenerType = (typeof(Customer)) und wollen ein BindingList<angegebenerType> anlegen
 
	// An object to create BindingList<typeof>
	Type objtype = typeof(Customer);
 
	// Generic type object
	Type gt = typeof(BindingList<>);
 
	// Bound generic type
	Type bt = gt.MakeGenericType(new Type[] {objtype});
 
   // Jetzt Objekt kreiren
	BindingList<Customer> blc = (BindingList<Customer>)Activator.CreateInstance(bt);
blc (letzte Zeile) würde man wahrscheinlich als Object deklarieren wenn der Type wirklich unbekannt wäre, hier geht's nur um Testcode.

Wenn man mit BindingSource arbeitet, kann man z.B. .DataSource = typeof(Customer) setzen. Dadurch bekommt man vom .List Property ein BindingList<Customer>. Es hat mich interessiert wie das realisiert wird.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
TIPP: Generic Type zur Laufzeit kreiren2.898ModeratorDaveS11.01.06 10:03
Re: TIPP: Generic Type zur Laufzeit kreiren1.303Maywood11.01.06 19:38
TIPP: Generic Type zur Laufzeit kreiren - Ein Beispiel1.760Maywood17.01.06 11:50

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-2025 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