private Felga UtworzNowaFelgeSparco(CzujnikCisnienia czujnikCisnienia) { var f = new Felga("Sparco") { CzujnikCisnienia = czujnikCisnienia, }; return(f); }
public void PropertyDalszeWyjasnienia() { var k1 = new Kolo() { Felga = UtworzNowaFelgeSparco_Z_CzujnikiemCisnienia(), Opona = new Opona(TypOpony.Zimowa), }; var k2 = new Kolo() { Felga = UtworzNowaFelgeSparco_Z_CzujnikiemCisnienia(), Opona = new Opona(TypOpony.Zimowa), }; var k3 = new Kolo() { Felga = UtworzNowaFelgeSparco_BEZ_CzujnikaCisnienia(), Opona = new Opona(TypOpony.Zimowa), }; var k4 = new Kolo() { Felga = UtworzNowaFelgeSparco_BEZ_CzujnikaCisnienia(), Opona = new Opona(TypOpony.Zimowa), }; var fel1 = new Felga(); fel1.Marka = "Ronal"; var mmmm = fel1.Marka; var fel2 = new Felga("Ronal"); var samochod = new Samochod(); samochod.KoloPrzednieLewe = k1; samochod.KoloPrzedniePrawe = k2; samochod.KoloTylneLewe = k3; samochod.KoloTylnePrawe = k4; // I teraz możemy się odwoływać do tych zagnieżdżonych property: bool czyCzujnikWPrawymPrzednimKoleJestSprawny = samochod.KoloPrzedniePrawe.Felga.CzujnikCisnienia.CzyJestSprawny; bool czySamochodMaZalozoneTylneLeweKolo = samochod.KoloTylneLewe != null; string markaFelgiNaPrawymTylnymKole = samochod.KoloTylnePrawe.Felga.Marka; TypOpony typOponyNaLewymPrzednimKole = samochod.KoloPrzednieLewe.Opona.Typ; string typOponyNaLPJakoStringWielkimiLiterami = samochod.KoloPrzednieLewe.Opona.Typ.ToString().ToUpper(); int dlugoscNazwyTypuOponyNaLP = samochod.KoloPrzednieLewe.Opona.Typ.ToString().Length; // Czyli podsumowując powyższe - każde property zwraca obiekt jakiegoś typu - nie ważne czy to będzie obiekt Twojego typu/klasy czy to będzie obiekt jakiejś klasy od Microsoftu (np. TimeSpan). // I ten zwracany typ ma swoje property, które zwraca obiekt innego typu, który znowu ma swoje property i tak dalej, i tak dalej // Zerknij poniżej jak te klasy są popisane. Jest tam parę ciekawostek. Np. enum, albo konstruktory z parametrami, albo konstruktor bez parametrów, który coś tam inicjalizuje. }