Diskuze: Generická metoda, pro různé kontejnery se stejnou vlastností
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Konkrétní typ:
public TrulyObservableCollection<MainMenuButtons_Container> Data { get; set; }
Na všech místech (na to už přijdeš) nahraď za generický parametr T a ten omez constrainem:
https://dotnetfiddle.net/EY2OLm
Nejdulezitejsi je pochopit samotnou podstatu interfacu.. je to jakysi predpis.. interfacem povis "todle musi splnovat". Tedy u generiky a contraintu (constrainu? tyto slova si nikdy nezapamatuju) rikas "hele.. jako vole, nevim co ti tam prijde, ale bude to mit IDčko).
Ok, do kontejnerů jsem přidal interface. Tím pádem mám v ObservableCollection třídy s předpisem. Ale já chci předávat ke zpracování kolekce různých typů jejichž prvky teď máji shodný předpis. No, ale jak to pořešit. Udělat předpis na tu kolekci ? Obalit ji nějakou třídou takto ?
public class NováKolekce: TrulyObservableCollection<T> : where T : IPredpis
a IPredpis bude potom co? Metoda na vrácení ID?
Jestli chceš skutečně něco takového, jako si popsal tak už:
public class NovaKolekce<T>: TrulyObservableCollection<T> : where T : IPredpis
= je to nějaká třída a používá se tam někde T.. to musí být typu IPredpis..
Jestli chceš prostě udělat nějaký vlastní kontejner, za pomcoi existujících, tak to bdue třeba něco podobného...
public class MyContainer<T>{
// Vnitrni uloziste - nejake..
private List<T> _data;
Add(T newItem) {
_data.Add(newItem);
}
}
Zobrazeno 5 zpráv z 5.