Главная arrow Язык программирования C# arrow C# Полное руководство Герберт Шилдт arrow Применение инициализаторов объектов в свойствах C# Полное руководство Герберт Шилдт

Применение инициализаторов объектов в свойствах C# Полное руководство Герберт Шилдт

Как пояснялось в главе 8, в версию C# 3.0 было внедрено новое средство, называемое инициализатором объекта и применяемое в качестве альтернативы явному вызову конструктора при создании объекта. С помощью инициализаторов объектов задаются начальные значения полей или свойств, которые требуется инициализировать. При этом синтаксис инициализаторов объектов оказывается одинаковым как для свойств, так и для полей. В качестве примера ниже приведена программа из главы 8, переделанная с целью продемонстрировать применение инициализаторов объектов в свойствах. Напомним, что в версии этой программы из главы 8 использовались поля, а приведенная ниже версия отличается лишь тем, что в ней поля Count и Str превращены в свойства. В то же время синтаксис инициализаторов объектов не изменился.

// Применить инициализаторы объектов в свойствах.

using System;

class MyClass {
   // Теперь это свойства.
   public int Count { get; set; }
   public string Str { get; set; }
}

class ObjlnitDemo {
   static void Main() {
   // Сконструировать объект типа MyClass с помощью
   // инициализаторов объектов.
   MyClass obj =
      new MyClass { Count = 100, Str = "Тестирование" };

      Console.WriteLine(obj.Count'+ " " + obj.Str);
   }
}

Как видите, свойства Count и Str устанавливаются в выражениях с инициализатором объекта. Приведенная выше программа дает такой же результат, как и программа из главы 8, а именно:
   100 Тестирование
Как пояснялось в главе 8, синтаксис инициализатора объекта оказывается наиболее пригодным для работы с анонимными типами, формируемыми в LINQ-выражениях. А в остальных случаях чаще всего используется синтаксис обычных конструкторов.