C # chyba v kodu - kde?
Mam abstraktni tridu AClovek. Od teto tridy mam potomky: Lenoch, Cilous, Pracant. Ve tride AClovek definuji tovarni metodu, ktera by mi mela postupne vratit odkaz na instance tridy Lenoch, Cilous, Pracant. Pouzivam na to switch, ale VisualStudio mi hlasi nasledujici chybu: not all code paths return a value
public abstract class AClovek
{
// == TOVARNI METODA =========
public static AClovek GetClovek(int index)
{
switch (index)
{
case 0:
return new Lenoch();
case 1:
return new Cilous();
case 2:
return new Pracant();
}
}
}
Je třeba říct, co udělat pro ostatní možnosti...
Moc diky, ja si vsude vykladal, ze je to nepovinne...
v switch je to nepovinne, ale metoda vracajuca hodnotu musi povinne vratit nejaku hodnotu za kazdych okolnosti. T.j. nemusi to byt v switch, moze byt aj napr. na konci funkcie return NEJAKAHODNOTA
Zkus se podívat na:
http://msdn.microsoft.com/en-us/library/sbbt4032(v =vs.80).aspx
a používat to místo toho indexu.