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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

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

Листинг 10.8

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

 

using System; 

 

class MyClass

{

// Теперь это свойства 

public int Count { get; set; }

public string Str { get; set; }

}

 

class ObjInitDemo

{  

static void Main()

{

// Сконструировать объект типа MyClass с помощью

// инициализаторов объектов.

MyClass obj =

        new MyClass { Count = 100, Str = "Тестирование" };

 

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

}  

}

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

100 Тестирование

Как пояснялось ранее, синтаксис инициализатора объекта оказывается наиболее пригодным для работы с анонимными типами, формируемыми в LINQ-выражениях. А в остальных случаях чаще всего используется синтаксис обычных конструкторов.



Поделиться:


Последнее изменение этой страницы: 2024-07-06; просмотров: 63; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.236 (0.005 с.)