stringtranslate.com

Анонимный тип

Анонимные типы — это функция C# 3.0, Visual Basic .NET 9.0 , Oxygene , Scala и Go, которая позволяет типам данных инкапсулировать набор свойств в один объект без необходимости предварительного явного определения типа. [1] Это важная функция для SQL -подобной функции LINQ , интегрированной в C# и VB.net. Поскольку анонимные типы не имеют именованного типа, они должны храниться в переменных, объявленных с использованием varключевого слова , сообщая компилятору C# о необходимости использовать вывод типа для переменной. Созданные свойства доступны только для чтения в C#, однако в VB.net они доступны для чтения и записи.

Эту функцию не следует путать с динамической типизацией . Хотя анонимные типы позволяют программистам определять поля, казалось бы, «на лету», они все равно являются статическими сущностями. Проверка типов выполняется во время компиляции, и попытка доступа к несуществующему полю вызовет ошибку компиляции. Это дает программистам большую часть удобства динамического языка с безопасностью типов статически типизированного языка .

Примеры

С#

var person = new { firstName = " Джон" , lastName = "Смит " } ; Console.WriteLine ( person.lastName ) ;           

Выход:Смит

Идти

var person struct { firstName string ; lastName string } person . firstName = "Джон" person . lastName = "Смит"        

OCaml

пусть  персона  =  объект  val  firstName  =  "Джон"  val  lastName  =  "Смит"  конец ;;

Кислород

var  person  :=  new  class ( firstName  :=  'Джон' ,  lastName  :=  'Смит' );

PHP

$person  =  новый  класс {  public  $firstName  =  "Джон" ;  public  $lastName  =  "Смит" ; };

Скала

val person = new { val firstName = "Джон" ; val lastName = "Смит" }             

Visual Basic .NET

Dim person = New With {. firstName = "Джон" , . lastName = "Смит" }          

Смотрите также

Ссылки

  1. ^ "Anonymous Types (C# Programming Guide)". Microsoft. Архивировано из оригинала 7 декабря 2008 года . Получено 2008-11-25 .

Внешние ссылки