Для нашего класса Book мы могли бы установить последовательно значения для всех трех полей класса:
1 2 3 4 5 6 | Book b1 = new Book(); b1.name = "Война и мир"; b1.author = "Л. Н. Толстой"; b1.year = 1869; b1.GetInformation(); |
Но можно также использовать инициализатор объектов:
1 2 | Book b2 = new Book { name = "Отцы и дети", author = "И. С. Тургенев", year = 1862 }; b2.GetInformation(); |
С помощью инициализатора объектов можно присваивать значения всем доступным полям и свойствам объекта в момент создания без явного вызова конструктора.
Частичные классы
Частичные классы (partial class) представляют возможность разделить функционал одного класса на несколько файлов. Например, сейчас у нас код класса Book весь находится в одном файле Book.cs. Но мы можем разделить весь код на несколько разных файлов. В этом случае нам надо будет поставить перед определением класса ключевое слово partial. Допустим в одном файле будет:
1 2 3 4 5 6 | partial class Book { public string name; public string author; public int year; } |
А в другом файле будет:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | partial class Book { public Book(string name, string author, int year) { this.name = name; this.author = author; this.year = year; } public void GetInformation() { Console.WriteLine("Книга '{0}' (автор {1}) была издана в {2} году", name, author, year); } } |