Практическое руководство. Объявление экземпляра анонимного типа (Visual Basic)
Анонимные типы позволяют создавать объекты без написания определения класса для типа данных. Вместо этого компилятор автоматически создает класс. Так как имя типа данных не задано, этот тип называется анонимным типом.
Экземпляр анонимного типа объявляется с помощью списка инициализации, задающего его свойства. Введите имя экземпляра, имя и начальные значения для каждого свойства и укажите, является ли каждое свойство ключевым.
Объявление
Объявление экземпляра анонимного типа
Напишите оператор Dim без предложения As.
Dim instanceName
В том же операторе присвойте instanceName список свойств для типа, заключенный в фигурные скобки, перед которыми укажите ключевые слова New With.
Dim instanceName = New With {<property names and initial values>}
Начинайте каждое новое имя свойства с точки и присваивайте ему начальное значение. Если требуется, чтобы свойство было ключевым, укажите перед именем свойства Key. (Дополнительные сведения см. в разделе Key (Visual Basic).) Разделяйте свойства запятыми. Обратите внимание, что нельзя задать тип данных свойства непосредственно. Тип выводится из начального значения.
Dim instanceName = New With {Key .Rank = 8, Key .Title = "Comptroller", .Location = "headquarters"}
Объявление завершено. Можно получить доступ к свойствам instanceName, как и для обычных объектов. Отличие заключается в том, что значения ключевых свойств не могут быть изменены.
instanceName.Location = "conference" Console.WriteLine(instanceName.Title) ' The following statement does not compile, because Rank is ' a key property and cannot be changed. ' instanceName.Rank = 9
Дополнительные сведения о других способах объявления свойств анонимного типа см. в разделе Практическое руководство. Выведение имен свойств и типов в объявлениях анонимных типов (Visual Basic).
Отказоустойчивость
Анонимный тип является хорошим выбором при необходимости создать временный объект, содержащий связанные данные, или если необходимо иметь различные наборы свойств для каждого объявления.
Существуют ограничения на использование анонимных типов. Важнее всего то, что имя для анонимного типа недоступно и не может находиться в коде там, где ожидается наличие имени типа. Дополнительные сведения об использовании анонимных типов см. в разделе Анонимные типы (Visual Basic).