/// <summary> /// Ispisuje sve osobine instrumenta za proizvoljan instrument. /// </summary> /// <param name="instr">Proizvoljan instrument koji implementira interfejs /// IFunkcijaUOrkestru</param> static void Osobine(Instrument instr) { // Da nisam ranije metodu Ispisi() proglasio virtuelnom i implementirao // dodatne funkcionalnosti u pojedinim konkretnim klasama // onda bih koristio ovu metodu. To je bila i originalna zamisao zadatka // ali sam ja pozurio i bespotrebno ubacio funkcionalnost u klase. instr.Ispisi(); IFunkcijaUOrkestru inter = instr as IFunkcijaUOrkestru; Console.WriteLine("Moja funkcija u orkestru: " + inter.MojaFunkcijaUOrkestru); Console.WriteLine("Neophodan sam za simfonijski orkestar: " + ((inter.NeophodanSamZaSimfonijskiOrkestar) ? "DA" : "NE")); Console.WriteLine("Pripadam orkestru po imenu: " + inter.PripadamOrkestruPoImenu); }
static Instrument[] UcitajOrkestarTekst(string putanja) { // npr: StreamReader sr = null; string line; string[] data; Instrument instrument; Instrument[] nekiOrkestar; List <Instrument> lista = new List <Instrument>(); try { sr = new StreamReader(putanja); // Ucitaj ime orkestra, prvi red... string ime = sr.ReadLine(); while ((line = sr.ReadLine()) != null) { data = line.Split(','); // dovoljni su Ime instrumenta, MojaFunkcijaUOrkestru switch (data[0]) { // za svaki instrument poseban case case "Bubanj": { instrument = new Bubanj(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Flauta": { instrument = new Flauta(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Harfa": { instrument = new Harfa(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Horna": { instrument = new Horna(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Klavir": { instrument = new Klavir(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Kontrabas": { instrument = new Kontrabas(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Ksilofon": { instrument = new Ksilofon(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Saksofon": { instrument = new Saksofon(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Timpani": { instrument = new Timpani(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Trombon": { instrument = new Trombon(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Truba": { instrument = new Truba(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Tuba": { instrument = new Tuba(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Viola": { instrument = new Viola(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Violina": { instrument = new Violina(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } case "Violoncelo": { instrument = new Violoncelo(); IFunkcijaUOrkestru temp = instrument as IFunkcijaUOrkestru; temp.MojaFunkcijaUOrkestru = data[1]; temp.PripadamOrkestruPoImenu = ime; lista.Add(instrument); break; } default: { throw new Exception(); } } } nekiOrkestar = lista.ToArray(); } catch { Console.WriteLine("Neuspesno ucitavanje"); nekiOrkestar = null; } finally { if (sr != null) { sr.Close(); } } return(nekiOrkestar); }