Анонимный тип
Анонимные типы — это функция 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 = "John", lastName = "Smith" };
Console.WriteLine(person.lastName);
Выход: Смит
Идти
[ редактировать ]var person struct { firstName string; lastName string }
person.firstName="John"
person.lastName="Smith"
OCaml
[ редактировать ]let person = object val firstName = "John" val lastName = "Smith" end;;
Кислород
[ редактировать ]var person := new class(firstName := 'John', lastName := 'Smith');
PHP
[ редактировать ]$person = new class
{
public $firstName = "John";
public $lastName = "Smith";
};
Скала
[ редактировать ]val person = new { val firstName = "John"; val lastName = "Smith" }
Визуальный Бейсик .NET
[ редактировать ]Dim person = New With {.firstName = "John", .lastName = "Smith"}
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Анонимные типы (Руководство по программированию на C#)» . Майкрософт. Архивировано из оригинала 7 декабря 2008 года . Проверено 25 ноября 2008 г.
Внешние ссылки
[ редактировать ]- Презентация усовершенствований языка C# 3.0
- Анонимные типы в Visual Basic 2008. Узнайте о новых функциях Visual Basic 2008.