Diskuze: Ten problém neviem nazvať, je to v tele príspevku.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 10 zpráv z 10.
//= 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.
To je špatně,
na toto použij vlastnosti
class Surovina
{
public string Meno(get;set);
public int Jm(get;set);
public string Balenie(get;set);
public Surovina()
{
}
}
Surovina maslo= new Surovina();
maslo.Meno="pomazankove"
maslo.Jm = 2;
maslo.Balenie = "velke";
jinak to na co ses ptal bz řešil** switch**
public string NastavItemSuroviny(Surovina surovina, string Item)
{
switch(Item)
{
case "Meno": return surovina.Meno; break;
case "Jm": return surovina.Jm; break;
case "Balenie": return surovina.Balenie; break;
}
}
Lze to vyřešit, ale musíš použít reflexy. Podle příspěvku nepředpokládám, že bys ji měl zmáknutou
Mezi slovem Nastav a příkazem return je dosti zřejmý rozpor. Jinak celá ta konstrukce je dosti podivná. Docela by mě zajímal důvod dělat to takhle... ehm...podivně.
OK, malo by tam byt VratItemSuroviny().
Pozor ... string based programming. Jestli už to dělat takhle, tak přes
enum. Ale i tak bych to pavažoval za něco nepěkného.
Na surovinu se přidá atribut, na což se v takovýhlech konstrukcích zapomene
a při nejbližší příležitosti to nebude dělat to co má.
Potom je na čase se s tím seznámit. Nicméně setovat properties přes reflexi je poměrně dosti přímý způsob jak si zpomalit program.
Len jedna maličkosť.
Tým, že je v case return, break tam je zbytočný.
To je pravda - no já většinou nereturnuju přímo z case ale nastavuju nějaký "retval" , který pak returnuju na konci metody(možnost s ním pracovat ještě za switchem) a tak když píšu switch, tak tam ta breaky sázím automaticky
Zobrazeno 10 zpráv z 10.