Анонимный тип - Anonymous type
Анонимные типы являются особенностью C # 3.0, Visual Basic .NET 9.0, Кислород, Scala и Идти это позволяет типы данных для инкапсуляции набора свойств в один объект без предварительного определения типа явно.[1] Это важная функция для SQL -подобно LINQ функция, интегрированная в C # и VB.net. Поскольку анонимные типы не имеют именованного типа, они должны храниться в переменные объявлено с использованием вар
ключевое слово, сообщающее компилятору C # использовать вывод типа для переменной. Созданные свойства доступны только для чтения в C #, однако они доступны для чтения и записи в VB.net.
Эту функцию не следует путать с динамическая типизация. Хотя анонимные типы позволяют программистам определять поля «на лету», они по-прежнему являются статическими объектами. Проверка типа выполняется во время компиляции, и попытка доступа к несуществующему полю вызовет ошибку компилятора. Это дает программистам большую часть удобства динамического языка с безопасностью типов статически типизированный язык.
Пример (C #)
вар человек = новый { имя = "Джон", фамилия = "Смит" };Консоль.WriteLine(человек.фамилия);
Выход: Смит
Пример (Visual Basic .NET)
Тусклый человек = Новый С {.имя = "Джон", .фамилия = "Смит"}
Пример (кислород)
var person: = new class (firstName: = 'John', lastName: = 'Smith');
Пример (OCaml)
позволять человек = объект вал имя = "Джон" вал фамилия = "Смит" конец;;
Пример (Scala)
вал человек = новый { вал имя = "Джон"; вал фамилия = "Смит" }
Пример (Go)
вар человек структура { имя нить; фамилия нить }человек.имя="Джон"человек.фамилия="Смит"
Смотрите также
Рекомендации
- ^ «Анонимные типы (Руководство по программированию на C #)». Microsoft. В архиве из оригинала 7 декабря 2008 г.. Получено 2008-11-25.
внешняя ссылка
- Презентация расширений языка C # 3.0
- Анонимные типы в Visual Basic 2008 - Узнайте о новых функциях Visual Basic 2008.