NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Všeobecne nejaký parameter nejakej triedy ako parameter funkcie

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Libor Šimo (libcosenior):28.11.2015 13:23

Prosím Milana Křepelku, aby sem nepísal.
Mám v triede, ktorá obsluhuje celý program (nie main) metódu:

public void ZoradKolekciu<T>(ObservableCollection<T> kolekcia, ???)
{
    kolekcia = new ObservableCollection<T>(kolekcia.OrderBy(a => a.Meno));
}

a potrebujem do parametru metódy (???) dať konkrétnu premennú (Meno) triedy (opakuje sa aj v ostatných triedach, ktoré sú v kolekciách) zo všeobecnej kolekcie<T>.
Je to vôbec možné?

Odpovědět
28.11.2015 13:23
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Libor Šimo (libcosenior)
Jan Vargovský:28.11.2015 18:24

Je to vôbec možné?

Ano je. Moje otázka je spíše proč to chceš dělat. To ti nestačí tohle?

kolekcia = kolekcia.OrderBy(a => a.X)

Nebo chceš, aby místo toho X si tam měl nějaký string? Jestli ano, uveď mi důvod proč, protože dělat to je celkem zbytečné.

 
Nahoru Odpovědět
28.11.2015 18:24
Avatar
Odpovídá na Jan Vargovský
Libor Šimo (libcosenior):28.11.2015 18:34

Jane, problém je v tom, že a."X" nefunguje, pretože metóda by mala umožniť pristúpiť k viacerým kolekciám.

Nahoru Odpovědět
28.11.2015 18:34
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Jan Vargovský
Tvůrce
Avatar
Jan Vargovský:28.11.2015 18:47

Tak si tam vyextrahuj interface, když mají všechny prvky z těch kolekcí něco společného a pak si tam dej omezení k té metodě.

Osobně bych to nedělal, protože LINQ je dle mého názoru dost přehledný a bohatě to stačí takhle:

kolekcia = kolekcia.OrderBy(a => a.X)
kolekcia2 = kolekcia2.OrderBy(a => a.X)
kolekcia3 = kolekcia3.OrderBy(a => a.X)
...
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
28.11.2015 18:47
Avatar
Odpovídá na Jan Vargovský
Libor Šimo (libcosenior):28.11.2015 18:49

Tak to mám spravené, ale hľadal som inú možnosť. ;-)

Nahoru Odpovědět
28.11.2015 18:49
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.