stringtranslate.com

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

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

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

Примеры

С#

вар человек = новый { firstName = «Джон» , LastName = «Смит» }; Консоль . WriteLine ( человек . фамилия );           

Выход:Смит

Идти

var person struct { firstName string ; строка последнего имени } человек . firstName = "Джон" человек . LastName = "Смит"        

OCaml

let  person  =  object  val  firstName  =  "Джон"  val  LastName  =  "Смит"  end ;;

кислород

var  person  :=  новый  класс ( firstName  :=  'Джон' ,  LastName  :=  'Смит' );

PHP

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

Скала

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

Визуальный Бейсик .NET

Тусклый человек = Новый с {. firstName = "Джон" , . LastName = "Смит" }          

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

Рекомендации

  1. ^ «Анонимные типы (Руководство по программированию на C#)» . Майкрософт. Архивировано из оригинала 7 декабря 2008 года . Проверено 25 ноября 2008 г.

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