Auto AUDI = new Auto(); - vytvareni nove tridy, chtel bych se zeptat jestli nekdo nevime ,jak udelam abych nazem te nove tridy mohl menit interaktivne -> nactu z ListBoxu string volba_auta = 'BMW' a pote vytvoril "Auto volba_auta = new Auto();" tak aby to fungovalo. proste potrebuju promeny nazev vytvarene tridy. dekuji za rady
-----------------
DeaLer: titulek vlákna byl změněn, aby byl v souladu s obsahem.
Fórum › .NET
Dynamický název proměnné
To JinDave: Je to blbost a samozřejmě to nejde (jednoduše). Co má být cílem? Proč to nechceš vytvořit jako proměnnou třídy Auto?
jestli jsem pochopil o co ti jde, tak já to dělám následovně:
//ziskame pole instanci tridy Assembly, ktere nalezi do aplikacni domeny
Assembly[] lAssemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly lAssembly in lAssemblies)
{
//ziskame vsechny typy z assembly
Type[] lTypes = lAssembly.GetTypes();
foreach (Type lType in lTypes)
{
//pokud se jedna o instanci tridy Type predstavujici typ hledane tridy
if (lType.Name.Equals("Název spouštěné třídy - to tvoje Auto"))
{
object obj = Activator.CreateInstance(lType, new object[] { parametry tridy });
//nyni muzeme provadet libovolne operace s istanci tridy osoba
// Volani metody init - musi byt u vsech trid
MethodInfo met = lType.GetMethod("Init");
met.Invoke(obj, new object[] { parametry funkce Init });
}
}
}
předpokládá se, že všechny třídy mají stejné parametry pro vytvoření instance
a funkci Init opět se stejnými parametry.
Ale mně stále není jasný, k čemu to je. Jaký to má reálný využití?
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Nazev promenne jako hodnota promenne — založil zak
C# název proměnné — založil Andy
Hodnota buňky jako název proměnné..... — založil figgir
Název budoucí proměnné v parametru funkce — založil richard.zavodny
Ukladani do db kdy nazev tabulky nalezi promenne — založil tribalcz
Moderátoři diskuze