static void PrintPc(PersonalComputer pc) { Console.WriteLine("PC configuration: "); Console.WriteLine("Box: {0}", pc.Box.Color); Console.WriteLine("Mainboard: {0} {1}MHz", pc.Mainboard.Producer, pc.Mainboard.BusFrequency); if (pc.Mainboard.VideoCard != null) { Console.WriteLine("Integrated VideoCard: {0} {1}Mb", pc.Mainboard.VideoCard.Producer, pc.Mainboard.VideoCard.MemoryVolume); } Console.WriteLine("Processor: {0} {1}GHz {2} core", pc.Processor.Producer, pc.Processor.Frequency, pc.Processor.CoreCount); Console.WriteLine("Memories: "); foreach (Memory m in pc.Memories) { Console.WriteLine("{0} {1}Gb", m.Type, m.Volume); } Console.WriteLine("Hdds: "); foreach (Hdd h in pc.Hdds) { Console.WriteLine("{0} {1} {2}Gb", h.Producer, h.Type, h.Volume); } if (pc.VideoCard != null) { Console.WriteLine("VideoCard: {0} {1}Mb", pc.VideoCard.Producer, pc.VideoCard.MemoryVolume); } }
public object Clone() { /* * Создание поверхностной копии объекта */ PersonalComputer newPc = (PersonalComputer)this.MemberwiseClone(); /* * Клонироване объектов апаратных составляющих */ newPc.Box = this.Box != null ? (Box)this.Box.Clone() : null; newPc.Mainboard = this.Mainboard != null ? (Mainboard)this.Mainboard.Clone() : null; newPc.Processor = this.Processor != null ? (Processor)this.Processor.Clone() : null; newPc.memories = new List <Memory>(); foreach (Memory m in this.memories) { if (m != null) { newPc.memories.Add((Memory)m.Clone()); } } newPc.hdds = new List <Hdd>(); foreach (Hdd h in this.hdds) { if (h != null) { newPc.hdds.Add((Hdd)h.Clone()); } } newPc.VideoCard = this.VideoCard != null ? (VideoCard)this.VideoCard.Clone() : null; return(newPc); }
static void PrintPc(PersonalComputer pc) { Console.WriteLine("PC configuration: "); Console.WriteLine("Box: {0}", pc.Box.Color); Console.WriteLine("Mainboard: {0} {1}MHz", pc.Mainboard.Producer, pc.Mainboard.BusFrequency); if (pc.Mainboard.VideoCard != null) { Console.WriteLine("Integrated VideoCard: {0} {1}Mb", pc.Mainboard.VideoCard.Producer, pc.Mainboard.VideoCard.MemoryVolume); } Console.WriteLine("Processor: {0} {1}GHz {2} core", pc.Processor.Producer, pc.Processor.Frequency, pc.Processor.CoreCount); Console.WriteLine("Memories: "); foreach (Memory m in pc.Memories) { Console.WriteLine("{0} {1}Gb", m.Type, m.Volume); } Console.WriteLine("Hdds: "); foreach (Hdd h in pc.Hdds) { Console.WriteLine("{0} {1} {2}Gb", h.Producer, h.Type, h.Volume); } if (pc.VideoCard != null) { Console.WriteLine("VideoCard: {0} {1}Mb", pc.VideoCard.Producer, pc.VideoCard.MemoryVolume); } }
private PersonalComputer CreateHomeConfig() { PersonalComputer config = new PersonalComputer(); config.Box = new Box() { Producer = "", Color = "Silver" }; config.Mainboard = new Mainboard() { Producer = "ATI", BusFrequency = 800, VideoCard = null }; config.Processor = new Processor() { Producer = "Intell", CoreCount = 2, Frequency = 3 }; config.Hdds.Add(new Hdd() { Producer = "Samsung", Type = "SATA", Volume = 500 }); config.Memories.Add(new Memory() { Producer = "", Type = "DDR2", Volume = 2 }); config.VideoCard = new VideoCard() { Producer = "ATI", MemoryVolume = 1024 }; return(config); }
private PersonalComputer CreateOfficeConfig() { PersonalComputer config = new PersonalComputer(); config.Box = new Box() { Producer = "", Color = "White" }; config.Mainboard = new Mainboard() { Producer = "Albatron", BusFrequency = 800, VideoCard = new VideoCard() { Producer = "nVidia", MemoryVolume = 1024 } }; config.Processor = new Processor() { Producer = "AMD", CoreCount = 1, Frequency = 1.8 }; config.Hdds.Add(new Hdd() { Producer = "LG", Type = "SATA", Volume = 160 }); config.Memories.Add(new Memory() { Producer = "", Type = "DDR2", Volume = 1 }); config.VideoCard = null; return(config); }
private PersonalComputer CreateGamerConfig() { PersonalComputer config = new PersonalComputer(); config.Box = new Box() { Producer = "", Color = "Black" }; config.Mainboard = new Mainboard() { Producer = "Asus", BusFrequency = 800, VideoCard = null }; config.Processor = new Processor() { Producer = "Intell", CoreCount = 4, Frequency = 4 }; config.Hdds.Add(new Hdd() { Producer = "WD", Type = "SATA2", Volume = 1024 }); config.Memories.Add(new Memory() { Producer = "", Type = "DDR2", Volume = 4 }); config.VideoCard = new VideoCard() { Producer = "nVidia", MemoryVolume = 1024 }; return(config); }
static void Main(string[] args) { // Ввести имя прототипа конфигурации Console.Write("Enter config prototype name: "); string prototypeName = Console.ReadLine(); // Получение прототипа конфигурации из палитры по его имени PersonalComputer prototype = PcPrototypes.Instance[prototypeName]; if (prototype != null) { // Создание конфигурации на основе выбранного прототипа PersonalComputer pc = (PersonalComputer)prototype.Clone(); // Вывод состава конфигурации на консоль PrintPc(pc); } else { Console.WriteLine("Error: incorrect config name"); } }
private PersonalComputer CreateHomeConfig() { PersonalComputer config = new PersonalComputer(); config.Box = new Box() { Producer = "", Color = "Silver" }; config.Mainboard = new Mainboard() { Producer = "ATI", BusFrequency = 800, VideoCard = null }; config.Processor = new Processor() { Producer = "Intell", CoreCount = 2, Frequency = 3 }; config.Hdds.Add(new Hdd() { Producer = "Samsung", Type = "SATA", Volume = 500 }); config.Memories.Add(new Memory() { Producer = "", Type = "DDR2", Volume = 2 }); config.VideoCard = new VideoCard() { Producer = "ATI", MemoryVolume = 1024 }; return config; }
private PersonalComputer CreateOfficeConfig() { PersonalComputer config = new PersonalComputer(); config.Box = new Box() { Producer = "", Color = "White" }; config.Mainboard = new Mainboard() { Producer = "Albatron", BusFrequency = 800, VideoCard = new VideoCard() { Producer = "nVidia", MemoryVolume = 1024 } }; config.Processor = new Processor() { Producer = "AMD", CoreCount = 1, Frequency = 1.8 }; config.Hdds.Add(new Hdd() { Producer = "LG", Type = "SATA", Volume = 160 }); config.Memories.Add(new Memory() { Producer = "", Type = "DDR2", Volume = 1 }); config.VideoCard = null; return config; }
private PersonalComputer CreateGamerConfig() { PersonalComputer config = new PersonalComputer(); config.Box = new Box() { Producer = "", Color = "Black" }; config.Mainboard = new Mainboard() { Producer = "Asus", BusFrequency = 800, VideoCard = null }; config.Processor = new Processor() { Producer = "Intell", CoreCount = 4, Frequency = 4 }; config.Hdds.Add(new Hdd() { Producer = "WD", Type = "SATA2", Volume = 1024 }); config.Memories.Add(new Memory() { Producer = "", Type = "DDR2", Volume = 4 }); config.VideoCard = new VideoCard() { Producer = "nVidia", MemoryVolume = 1024 }; return config; }