Dynamický název proměnné – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Dynamický název proměnné – .NET – Fórum – Programujte.comDynamický název proměnné – .NET – Fórum – Programujte.com

 

JinDave
~ Anonymní uživatel
3 příspěvky
10. 10. 2007   #1
-
0
-

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.

Nahlásit jako SPAM
IP: ...–
mephi0
Expert
10. 10. 2007   #2
-
0
-

neviem či chapem, ale chceš aby uživateľ zadal meno premennej ?
to je nemožné. Nema to ani využitie. Skus pohľadať iné riešenie svojho problemu.

Nahlásit jako SPAM
IP: ...–
Program nemusi fungovat rychle, staci ze funguje dostatecne rychle.
DeaLer+2
Hero
10. 10. 2007   #3
-
0
-

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?

Nahlásit jako SPAM
IP: ...–
Dušan Janošík | web: djanosik.cz, @djanosik
JinDave
~ Anonymní uživatel
3 příspěvky
10. 10. 2007   #4
-
0
-

chtel jsem docilit toho abych ListBoxu vypsal vybral polozku a podle jejiho nazvu vytvoril obejk tridy Auto() , a nazev toho bjektu mel bejt prave stejny jako vyber z ListBoxu, pres ukazatele jsem to resil v c,c++

Nahlásit jako SPAM
IP: ...–
Phoenix0
Super člen
10. 10. 2007   #5
-
0
-

Pokud si tam chceš uchovávat nějaký název tak na to použij proměnnou té třídy ne?

Nahlásit jako SPAM
IP: 85.70.88.–
honzac32
~ Anonymní uživatel
2 příspěvky
11. 10. 2007   #6
-
0
-

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.

Nahlásit jako SPAM
IP: ...–
JinDave
~ Anonymní uživatel
3 příspěvky
11. 10. 2007   #7
-
0
-

Diky, to jsem potreboval vedet, thanx honzac32

Nahlásit jako SPAM
IP: ...–
DeaLer+2
Hero
12. 10. 2007   #8
-
0
-

Ale mně stále není jasný, k čemu to je. Jaký to má reálný využití?

Nahlásit jako SPAM
IP: ...–
Dušan Janošík | web: djanosik.cz, @djanosik
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 30 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý