Object via Name Referenzieren

12/14/2012 23:49 tolio#1
Ich versuche schon seit einiger Zeit an eine Object Referenz durch seinen Namen zu kommen.
Controls("...") fällt dabei herraus.
Folgendes habe ich schon gefunden, jedoch fehlt mir jetzt quasi der letzte Schritt um an das Objekt an sich zu kommen

Code:
            Dim myAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
            Dim types As Type() = myAssembly.GetTypes()
            For Each myType In types
                 If myType.Name = "gesucht" Then
                             ..............
                 End If
            Next
Vllt hat ja jemand ein ähnliches Problem mal gehabt oder sonst eine Idee. Danke schonmal im vorraus.

MfG
tolio
12/15/2012 01:31 nkkk#2
welchen namen meinst du?
Controls("...") Liefert dir das Control wo eben die "Name" eigenschaft entsprechend ist.

der Code den du gepostet hast Liefert die die KLASSE mit dem Anahegebenen namen.

"TextBox tb = new TextBox(){name = "TextBox1"}"
hätte z.B. den namen "TextBox1" aber die klasse hätte den namen TextBox.

Den Code den du gepostet hast verwendet man of in eiem zusammenhang wie diesem:
du kannst z.B. mit
Code:
            var myAssembly = System.Reflection.Assembly.GetExecutingAssembly();
            var types = myAssembly.GetTypes();
            foreach (var myType in types)
            {
                if (myType.Name == "Form1")
                {
                    var form = myType.GetConstructor(new Type[0]).Invoke(new object[0]);
                    myType.GetMethod("Show",new Type[0] ).Invoke(form, new object[0]);
                }
            }
eine Neue From1 zeigen (wenn du in deinem porgoramm eine From1- Klasse hast).

da ich annehme das du doch eher nach einem objekt selbst suchst währe es gut zu wissen warum Controls("...") nicht geht
12/15/2012 02:47 tolio#3
mit controls("...") lassen sich die steuerelmente einer form finden, ich suche aber ein object mit dem namen x irgendwo im programm, damit ich mit diesem arbeiten kann
12/15/2012 16:12 nkkk#4
also anhand des namens der referenz? das ist nicht möglich.