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

C# .NET .NET (C# a Visual Basic) Všeobecne nejaký parameter nejakej triedy ako parameter funkcie American English version English version

Avatar
Libor Šimo (libcosenior):

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ý
Redaktor
Avatar
Odpovídá na Libor Šimo (libcosenior)
Jan Vargovský:

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):

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ý
Redaktor
Avatar
Jan Vargovský:

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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět 28.11.2015 18:47
Avatar
Odpovídá na Jan Vargovský
Libor Šimo (libcosenior):

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.