Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

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

Сравнение с динамической типизацией

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

Примеры

На языке C#

var person = new {FirstName = "Иван", LastName = "Иванов"}
var size = new {Heigth = 7, Weigth = 5, Depth = 5}

На языке Visual Basic .NET

Dim person = New With {.FirstName = "Иван", .LastName = "Иванов"}

На языке Oxygene

var person := new class(FirstName := 'Пётр', LastName := 'Петров');

На языке OCaml

let person = object val firstName = "Пётр" val lastName = "Петров" end;;

Критика

Одним из главных недостатков анонимного типа в C# 3.0 является невозможность экспортировать его за пределы метода, в котором его создали. Данное ограничение связано с унаследованными ограничениями CLR .NET Framework 2.0, в котором не были предусмотрены анонимные типы. Как следствие, невозможно разрешить конфликт имен при экспорте анонимного типа с совпадающей сигнатурой, и соответственно, анонимный тип нельзя сделать видимым за пределами сборки. Ограничение на методы накладывается потому, что они могут быть экспортированы в другие сборки, что и вызвало бы описанную проблему[2].

См. также

Примечания

  1. Anonymous Types (C# Programming Guide). Microsoft. Дата обращения: 25 ноября 2008. Архивировано 23 июля 2012 года.
  2. C# 3.0 и LINQ. Концепции C# 3.0, позволившие создать LINQ Архивная копия от 3 июня 2011 на Wayback Machine  (рус.)

Ссылки

Эта страница в последний раз была отредактирована 4 июня 2022 в 01:27.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).