C# Jak vypsat všechny zděděné třídy? – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C# Jak vypsat všechny zděděné třídy? – .NET – Fórum – Programujte.comC# Jak vypsat všechny zděděné třídy? – .NET – Fórum – Programujte.com

 

Vladimír
~ Anonymní uživatel
32 příspěvků
3. 1. 2014   #1
-
0
-

Dobrý večer,

řekněme, že mám třídu Zvíře a z ní zděděné třídy Kočka, Pes, Morče atd...

A mám listbox, ve kterém budu chtít vypsat jednotlivé třídy, které jsou zděděné od třídy Zvíře,

takže v listboxu bude zobrazeno:

Kočka

Pes

Morče

...

Nevíte někdo, jak to vytvořit? Samozřejmě abych to tam nemusel vypisovat natvrdo.

Děkuji mnohokrát

Nahlásit jako SPAM
IP: 89.103.252.–
Kit+15
Guru
3. 1. 2014   #2
-
0
-

#1 Vladimír
Rodič neví nic o svých potomcích, takže to IMHO nejde.

V Javě to řeším přes enum.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Vladimír
~ Anonymní uživatel
32 příspěvků
3. 1. 2014   #3
-
0
-

Děkuji

Nahlásit jako SPAM
IP: 89.103.252.–
apc
~ Anonymní uživatel
1 příspěvek
3. 1. 2014   #4
-
0
-

Kdyz nekdo rekne, ze neco nejde, je to spravidla spatna odpoved. Vzdy se da vsechno vyresit.

Jiz 7 let jsem mimo c#, tak jen nastinim, jak jsem to kdysi delal. Ale nevim, zda si to pamatuji spravne. Pouze vim, ze cesta existuje. Da se najit.

V C# je mozne naloadovat dll knihovnu nebo exe soubor. Tim se nactou tridy. Ty tridy jde pak vsechny "rucne" projit a zjistit, ktera je z ceho podedena.

Nahlásit jako SPAM
IP: 77.234.249.–
Kit+15
Guru
3. 1. 2014   #5
-
0
-

#4 apc
Jdeš na to stejně jako když mi někdo řekl, že není možné vypsat třídy v package. Také jsem si je vypsal. V reálné aplikaci je to obvykle pomalé řešení a ve většině případů nesprávné.

Je nutné hledat jiný způsob. Jaký? To záleží na potřebách aplikace.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
JardaJirava0
Stálý člen
3. 1. 2014   #6
-
0
-

Ahoj,

budeš muset zkombinovat tyto příkazy.

var asms = AppDomain.CurrentDomain.GetAssemblies();
foreach (var asm in asms)
{
    var t = asm.GetTypes();
}

a následně

typeof(Zvire).IsAssignableFrom(typeof(Kocka))

Pěkný den,

Nahlásit jako SPAM
IP: 178.255.169.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
Vladimír
~ Anonymní uživatel
32 příspěvků
4. 1. 2014   #7
-
0
-

Děkuji mnohokrát :-)

Nahlásit jako SPAM
IP: 89.103.252.–
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, 35 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ý