static void Main(string[] args) { //You get a error here! Media media = new Media(); //But not here... Media rock70 = new CasetteMedia(TimeSpan.FromMinutes(90)); //Because we instance with base class 'Media' we can't access to properties from CasetteMedia class :( rock70.ArtistName = "V.A"; CasetteMedia rock80 = new CasetteMedia(TimeSpan.FromMinutes(90)); rock80.ArtistName = "V.A"; rock80.Name = "Rock Hits 80'"; rock80.Tracks = 17; //Other way to instance, and initialize properties in a class CasetteMedia rock90 = new CasetteMedia() { Duration = TimeSpan.FromMinutes(90), ArtistName = "V.A", Tracks = 15 }; Console.ReadKey(); }
//NOTE: To reuse code, in this project there add the project CSharpCourse.ClassInterfacesAndStructs static void Main(string[] args) { Library<IVideoMedia> videoLibrary = new Library<IVideoMedia>(); VHSVideo jurasicPark = new VHSVideo(TimeSpan.FromMinutes(80)); BetaVideo madMax = new BetaVideo(TimeSpan.FromMinutes(74)); CasetteMedia rock80 = new CasetteMedia(); videoLibrary.Add(jurasicPark); videoLibrary.Add(madMax); //We instance a generic Library with type IVideoMedia interface, then, we only include objects with this interface. videoLibrary.Add(rock80); Console.WriteLine(videoLibrary.CountOfTitles); Console.WriteLine(videoLibrary.LastTitleAdded); Console.ReadKey(); }