stringtranslate.com

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

Visual Basic ( VB ), первоначально называвшийся Visual Basic .NET ( VB.NET ), представляет собой мультипарадигмальный объектно - ориентированный язык программирования , реализованный на .NET , Mono и .NET Framework . Microsoft запустила VB.NET в 2002 году как преемника исходного языка Visual Basic , последней версией которого была Visual Basic 6.0. Хотя часть имени «.NET» была исключена в 2005 году, в этой статье используется «Visual Basic [.NET]» для обозначения всех языков Visual Basic, выпущенных с 2002 года, чтобы отличить их от классического Visual Basic . Наряду с C# и F# это один из трех основных языков, предназначенных для экосистемы .NET. 6 февраля 2023 года Microsoft обновила свою языковую стратегию VB, заявив, что VB теперь является стабильным языком, и Microsoft будет продолжать его поддерживать. [6]

Интегрированной средой разработки (IDE) Microsoft для разработки на Visual Basic является Visual Studio . Большинство выпусков Visual Studio являются коммерческими ; Единственными исключениями являются Visual Studio Express и Visual Studio Community , которые являются бесплатными . Кроме того, в состав пакета SDK для .NET Framework входит бесплатный компилятор командной строки vbc.exe. Mono также включает в себя компилятор VB.NET с командной строкой.

Visual Basic часто используется в сочетании с библиотекой графического пользовательского интерфейса Windows Forms для создания настольных приложений для Windows . Программирование для Windows Forms с помощью Visual Basic включает перетаскивание элементов управления в форму с помощью конструктора графического интерфейса и написание соответствующего кода для каждого элемента управления.

Использование при создании программ с графическим интерфейсом.

Библиотека Windows Forms чаще всего используется для создания графических интерфейсов в Visual Basic. Все визуальные элементы в библиотеке классов Windows Forms являются производными от класса Control. Это обеспечивает минимальную функциональность элемента пользовательского интерфейса, такую ​​как расположение, размер, цвет, шрифт, текст, а также общие события, такие как щелчок и перетаскивание. Класс Control также имеет поддержку стыковки, позволяющую элементу управления изменить свое положение под родительским элементом.

Формы обычно разрабатываются в Visual Studio IDE . В Visual Studio формы создаются с помощью методов перетаскивания . Инструмент используется для размещения элементов управления (например, текстовых полей, кнопок и т. д.) в форме (окне). Элементы управления имеют связанные с ними атрибуты и обработчики событий . Значения по умолчанию предоставляются при создании элемента управления, но могут быть изменены программистом. Многие значения атрибутов могут быть изменены во время выполнения в зависимости от действий пользователя или изменений в среде, обеспечивая динамическое приложение. Например, в обработчик событий изменения размера формы можно вставить код, чтобы изменить положение элемента управления так, чтобы он оставался в центре формы, расширялся для заполнения формы и т. д. Вставляя код в обработчик событий для нажатия клавиши в текстовом поле, программа может автоматически переводить регистр вводимого текста или даже запрещать вставку определенных символов.

Синтаксис

Visual Basic использует операторы для указания действий. Наиболее распространенным оператором является оператор выражения, состоящий из вычисляемого выражения в одной строке. В рамках этой оценки могут вызываться функции или подпрограммы , а переменным могут быть присвоены новые значения. Чтобы изменить обычное последовательное выполнение операторов, Visual Basic предоставляет несколько операторов потока управления, идентифицируемых зарезервированными ключевыми словами. Структурированное программирование поддерживается несколькими конструкциями, включая две конструкции условного выполнения ( ... ... ... и ... ... ) и три конструкции итеративного выполнения (цикла) ( ... , ... и ). Оператор ... имеет отдельные разделы инициализации и тестирования, оба из которых должны присутствовать. (См. примеры ниже.) Оператор проходит по каждому значению в списке.IfThenElseEnd IfSelect CaseCaseEnd SelectDoLoopForToFor EachForToFor Each

Кроме того, в Visual Basic:

Простой пример

Ниже приведена очень простая программа на Visual Basic, версия классического примера « Hello, World! », созданная как консольное приложение:

Модуль Модуль1  Sub Main () ' Классический «Hello, World!» демонстрационная программа Консоль . WriteLine ( «Привет, мир!» ) End Sub     Конечный модуль 

Он печатает « Hello, World! » в окне командной строки . Каждая строка служит определенной цели, а именно:

Модуль Модуль1 

Это определение модуля. Модули — это часть кода, которая может содержать объекты любого типа, такие как константы или переменные, функции, методы или классы, но не может быть создана как объекты, такие как классы, и не может наследовать от других модулей. Модули служат контейнерами кода, на которые можно ссылаться из других частей программы. [8]
Обычно модуль и содержащий его файл кода имеют одно и то же имя. Однако это не обязательно, поскольку один файл кода может содержать более одного модуля и/или класса.

Подглавная ( ) 

Эта строка определяет подпрограмму под названием «Main». «Main» — это точка входа, с которой программа начинает выполнение. [9]

Консоль . WriteLine ( «Привет, мир!» )

Эта строка выполняет фактическую задачу записи вывода. Консоль — это системный объект, представляющий интерфейс командной строки (также известный как «консоль») и предоставляющий программный доступ к стандартным потокам операционной системы . Программа вызывает консольный метод WriteLine, в результате чего переданная ему строка отображается на консоли.

Вместо Console.WriteLine можно использовать MsgBox, который печатает сообщение в диалоговом окне, а не в окне командной строки. [10]

Сложный пример

Этот фрагмент кода выводит треугольник Флойда на консоль:

Импортирует System.Console Модульная программа  Sub Main () Тусклые строки как целое число      ' Проверка ввода. Делайте до целого числа . TryParse ( ReadLine ( «Введите значение количества отображаемых строк: « & vbcrlf ), rows ) AndAlso rows >= 1 WriteLine ( «Допустимый диапазон: 1 и {0}» , Integer . MaxValue ) Loop ' Вывод Floyd's Треугольник Уменьшить текущий как целое число = 1 Уменьшить строку как целое число Уменьшить столбец как целое число Для строки = 1 В строки Для столбца = 1 В строку Write ( "{0,-2} " , current ) current += 1 Далее                                                 WriteLine () Следующий конец подзаголовка    ''' <summary> ''' Подобно Console.ReadLine, но принимает строку подсказки. ''' </summary> Функция ReadLine ( необязательное приглашение As String = Nothing ) As String If приглашение IsNot Nothing then Write ( подсказка ) End If                    Возврат консоли . ReadLine () Конечная функция   Конечный модуль 

Сравнение с классическим Visual Basic

Вопрос о том, следует ли рассматривать Visual Basic .NET просто как еще одну версию Visual Basic или как совершенно другой язык, остается предметом споров. Имеются новые дополнения для поддержки новых функций, таких как структурированная обработка исключений и сокращенные выражения. Кроме того, при переходе на VB.NET произошли два важных изменения в типах данных: по сравнению с Visual Basic 6 длина Integer типа данных была увеличена вдвое с 16 до 32 бит, а длина Long типа данных увеличена вдвое с 32 бит. до 64 бит. Это справедливо для всех версий VB.NET. 16-битное целое число во всех версиях VB.NET теперь называется Short. Аналогично, редактор Windows Forms по стилю и функциям очень похож на редактор форм Visual Basic.

Что существенно изменилось , так это семантика: от семантики объектно-ориентированного языка программирования, работающего на детерминированном механизме с подсчетом ссылок на основе COM , до полностью объектно-ориентированного языка, поддерживаемого .NET Framework , который состоит из комбинации среды выполнения Common Language ( виртуальная машина , использующая сборку мусора по поколениям и механизм компиляции «точно в срок» ) и гораздо более крупную библиотеку классов . Повышенная широта последнего также является проблемой, с которой приходится сталкиваться разработчикам VB при переходе на этот язык, хотя эта проблема в некоторой степени решается функцией My в Visual Studio 2005.

Изменения изменили многие основные предположения о «правильных» действиях в отношении производительности и удобства обслуживания. Некоторые функции и библиотеки больше не существуют; другие доступны, но не так эффективны, как «родные» альтернативы .NET. Даже если они скомпилируются, большинству преобразованных приложений Visual Basic 6 потребуется определенный уровень рефакторинга , чтобы в полной мере воспользоваться преимуществами нового языка. Доступна документация, охватывающая изменения в синтаксисе, отладке приложений, развертывании и терминологии. [11]

Сравнительные примеры

В следующих простых примерах сравниваются синтаксисы VB и VB.NET. Они предполагают, что разработчик создал форму, разместил на ней кнопку и связал продемонстрированные в каждом примере подпрограммы с обработчиком события нажатия упомянутой кнопки. В каждом примере после нажатия кнопки в форме создается окно сообщения «Hello, World».

Визуал Бейсик 6:

Частная подкоманда1_Click () MsgBox « Hello , World» End Sub     

VB.NET (можно использовать класс MsgBox или MessageBox):

Частная дополнительная кнопка Button1_Click ( отправитель как объект , e как EventArgs ) Обрабатывает кнопку Button1 . Нажмите MsgBox ( «Hello, World» ), завершите подписку.           

В следующем примере демонстрируется разница между Visual Basic 6 и VB.NET. Оба примера закрывают активное окно .

Визуал Бейсик 6:

Sub cmdClose_Click () Выгрузить меня , завершить подписку    

ВБ.НЕТ:

Sub btnClose_Click ( отправитель как объект , e как EventArgs ) обрабатывает btnClose . Нажмите «Закрыть » () «Завершить подписку» .          

Префикс «cmd» заменяется префиксом «btn», что соответствует ранее упомянутому новому соглашению. [ который? ]

В Visual Basic 6 не было распространенных сочетаний клавиш операторов. Следующие действия эквивалентны:

Визуал Бейсик 6:

Sub Timer1_Timer () 'Уменьшает высоту формы на один пиксель за такт Me . Рост = Я. _ Высота 1 конечный переходник        

ВБ.НЕТ:

Sub Timer1_Tick ( отправитель как объект , e как EventArgs ) обрабатывает Timer1 . Отметьте меня . Высота —= 1 конечный переходник            

Сравнение с C#

C# и Visual Basic — первые языки Microsoft, созданные для программирования на .NET Framework (позже были добавлены F# и другие языки; другие языки также добавили). Хотя C# и Visual Basic синтаксически различны, на этом различия в основном заканчиваются. Microsoft разработала оба этих языка как часть одной и той же платформы разработки .NET Framework. Оба они разрабатываются, управляются и поддерживаются одной и той же командой разработчиков языков в Microsoft. [13] Они компилируются в один и тот же промежуточный язык (IL), который работает с теми же библиотеками времени выполнения .NET Framework. [14] Хотя существуют некоторые различия в конструкциях программирования, их различия в основном синтаксические, и, если предположить, что вы избегаете библиотек совместимости Visual Basic, предоставляемых Microsoft для облегчения преобразования из Visual Basic 6, почти каждая функция в VB имеет эквивалентную функцию. в C# и наоборот. Наконец, оба языка ссылаются на одни и те же базовые классы .NET Framework для расширения их функциональности. В результате, за некоторыми исключениями, программа, написанная на любом языке, может быть запущена через простой преобразователь синтаксиса для перевода на другой язык. Для этой задачи существует множество продуктов с открытым исходным кодом и коммерческих продуктов.

Примеры

Привет, мир!

Приложение Windows Forms

Требуется кнопка с именем Button1.

Форма публичного класса1   Частная дополнительная кнопка Button1_Click ( отправитель как объект , e как EventArgs ) обрабатывает кнопку Button1 . Нажмите MsgBox ( «Hello world!» , MsgBoxStyle . Information , «Hello world!» ) ' Покажите сообщение «Hello world!». Конечный подконечный класс _                
Привет, мир! окно

Консольное приложение

Модуль Модуль1  Подглавная ( ) консоль . WriteLine ( "Hello world!" ) ' Напишите в консоли "Hello world!" и начать новую строку. Консоль . ReadKey () 'Пользователь должен нажать любую клавишу перед завершением работы приложения. Конечный переходной модуль _        

Говорящий

Приложение Windows Forms

Требуется текстовое поле с названием «TextBox1» и кнопка с именем Button1.

Открытый класс Form1 Частный Sub Button1_Click ( отправитель как объект , e как EventArgs ) Обрабатывает кнопку Button1 . Нажмите CreateObject ( «Sapi.Spvoice» ). Speak ( TextBox1 . Text ) Конец подконца класса _                 

Консольное приложение

Модуль Модуль1  Частный голос = CreateObject ( «Sapi.Spvoice» )    Частный текст в виде строки    Подглавная ( )  Консоль . Write ( «Введите текст для произнесения:» ) ' Скажите: «Введите текст для произнесения:»  Текст = Консоль . ReadLine () 'Пользователь должен ввести текст, чтобы произнести его.    Голос . Speak ( Text ) ' Произнесите текст, введенный пользователем.  Конец субтитра Конечный модуль 

История версий

Пришедшая на смену классической версии Visual Basic 6.0, первая версия Visual Basic .NET дебютировала в 2002 году . По состоянию на 2020 год выпущено десять версий Visual Basic .NET.

2002 (ВБ 7.0)

Первая версия, Visual Basic .NET, опирается на .NET Framework 1.0 . Самая важная особенность — управляемый код , который контрастирует с классическим Visual Basic.

2003 (ВБ 7.1)

Visual Basic .NET 2003 был выпущен вместе с .NET Framework 1.1 . Новые функции включали поддержку .NET Compact Framework и улучшенный мастер обновления VB . Также были улучшены производительность и надежность .NET IDE (особенно фонового компилятора) и среды выполнения. Кроме того, Visual Basic .NET 2003 был доступен в Visual Studio.NET Academic Edition, бесплатно распространяемом среди определенного числа ученых [ ласковые слова ] из каждой страны.

2005 (ВБ 8.0)

После Visual Basic .NET 2003 Microsoft исключила «.NET» из названия продукта, назвав следующую версию Visual Basic 2005.

В этом выпуске Microsoft добавила множество функций, призванных усилить роль Visual Basic .NET как платформы быстрой разработки приложений и еще больше отличить ее от C# , в том числе:

Чтобы устранить разрывы между собой и другими языками .NET, в эту версию добавлено:

В Visual Basic 2005 появился IsNotоператор, который 'If X IsNot Y'эквивалентен 'If Not X Is Y'. Он получил известность [20] , когда выяснилось, что он является предметом патентной заявки Microsoft. [21] [22]

2008 (ВБ 9.0)

Visual Basic 9.0 был выпущен вместе с .NET Framework 3.5 19 ноября 2007 года.

В этом выпуске Microsoft добавила множество функций, в том числе:

2010 (ВБ 10.0)

В апреле 2010 года Microsoft выпустила Visual Basic 2010. Microsoft планировала использовать для этого выпуска среду динамического языка (DLR) [23] , но перешла к стратегии совместной эволюции Visual Basic и родственного языка C#, чтобы привести оба языка в более близкое соответствие друг с другом. друг друга. Врожденная способность Visual Basic динамически взаимодействовать с объектами CLR и COM была расширена для работы с динамическими языками, созданными на основе DLR, такими как IronPython и IronRuby . [24] Компилятор Visual Basic был улучшен, чтобы определять продолжение строки в наборе общих контекстов, во многих случаях устраняя необходимость в символах продолжения строки «_». Кроме того, существующая поддержка встроенных функций была дополнена поддержкой встроенных подпрограмм, а также многострочных версий лямбда-выражений Sub и Function. [25]

2012 (ВБ 11.0)

Visual Basic 2012 был выпущен вместе с .NET Framework 4.5 . Основные функции, представленные в этой версии, включают: [ необходимо дальнейшее объяснение ]

2013 (ВБ 12.0)

Visual Basic 2013 был выпущен вместе с .NET Framework 4.5.1 вместе с Visual Studio 2013. Также можно создавать приложения .NET Framework 4.5.2, установив Developer Pack. [26]

2015 (ВБ 14.0)

Visual Basic 2015 (кодовое имя VB «14.0») был выпущен вместе с Visual Studio 2015. Языковые функции включают новый знак «?». оператор для выполнения встроенных проверок нуля, а также включена новая функция интерполяции строк для встроенного форматирования строк. [27]

2017 (ВБ 15.х)

Visual Basic 2017 (кодовое имя VB «15.0») был выпущен вместе с Visual Studio 2017. Расширена поддержка новых функций языка Visual Basic 15 с версиями 2017, 15.3, 15.5, 15.8. Представляет новые рефакторинги, которые позволяют организовать исходный код одним действием. [28] [29]

2019 (ВБ 16.0)

Visual Basic 2019 (кодовое имя VB «16.0») был выпущен вместе с Visual Studio 2019. [30] Это первая версия Visual Basic, ориентированная на .NET Core. [31]

Кроссплатформенная разработка с открытым исходным кодом

Официальный компилятор Visual Basic написан на Visual Basic и доступен на GitHub как часть платформы компилятора .NET . [32] Создание инструментов с открытым исходным кодом для разработки на Visual Basic происходит медленно по сравнению с C# , хотя платформа разработки Mono обеспечивает реализацию библиотек, специфичных для Visual Basic, и компилятор , совместимый с Visual Basic 2005 , написанный на Visual Basic, [33] а также стандартные библиотеки платформы, такие как библиотека графического интерфейса Windows Forms .

MonoDevelop была альтернативной IDE с открытым исходным кодом . Среда Gambas также похожа на Visual Basic, но отличается от нее, как и редактор Visual FB для FreeBasic .

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

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

  1. ^ «Примечания к выпуску Visual Studio 2022 версии 17.6» . 20 июня 2023 г. . Проверено 3 июля 2023 г.
  2. ^ ab «Option Explicit и Option Strict в Visual Basic .NET и Visual Basic». Поддерживать . Майкрософт . 19 марта 2008 года. Архивировано из оригинала 4 апреля 2015 года . Проверено 22 августа 2013 г.
  3. Доллард, Кэтлин (13 ноября 2018 г.). «Visual Basic в .NET Core 3.0». blogs.msdn.microsoft.com . Архивировано из оригинала 19 ноября 2018 года . Проверено 21 ноября 2018 г.
  4. ^ «Поддержка Visual Basic запланирована для .NET 5.0 | Блог Visual Basic» . Блоги.msdn.microsoft.com. 11 марта 2020 года. Архивировано из оригинала 5 января 2022 года . Проверено 26 августа 2020 г.
  5. ^ "Дотнет/Рослин". Гитхаб . 2 ноября 2022 г. Архивировано из оригинала 2 мая 2019 г. Проверено 14 апреля 2019 г.
  6. Кэтлин Доллард (6 февраля 2023 г.). «Стратегия языка Visual Basic — Visual Basic». Learn.microsoft.com . Архивировано из оригинала 31 марта 2023 года . Проверено 31 марта 2023 г.
  7. ^ «Новые возможности Visual Basic 10». 3 июня 2010 года. Архивировано из оригинала 4 марта 2016 года . Проверено 5 сентября 2015 г.
  8. ^ «Заявление о модуле». MSDN – Центр разработчиков. Архивировано из оригинала 9 января 2010 года . Проверено 20 января 2010 г.
  9. ^ «Основная процедура в Visual Basic». MSDN – Центр разработчиков. Архивировано из оригинала 28 января 2010 года . Проверено 20 января 2010 г.
  10. ^ «Визуальная базовая версия Hello, World» . MSDN – Центр разработчиков. Архивировано из оригинала 11 января 2010 года . Проверено 20 января 2010 г.
  11. ^ «Центр ресурсов по миграции Microsoft Visual Basic 6.0» . MSDN . Майкрософт . Архивировано из оригинала 9 ноября 2014 года . Проверено 9 ноября 2014 г.
  12. ^ «Устаревшая техническая документация Visual Studio 2003» . Центр загрузки Microsoft . Архивировано из оригинала 30 декабря 2014 года . Проверено 24 июля 2018 г.
  13. ^ Криль, Пол (27 февраля 2009 г.). «Конвергентные языки программирования Microsoft | Мир разработчиков». ИнфоМир. Архивировано из оригинала 26 января 2013 года . Проверено 18 августа 2013 г.
  14. ^ «Промежуточный язык Microsoft» . Dotnet-guide.com. Архивировано из оригинала 2 июня 2013 года . Проверено 18 августа 2013 г.
  15. ^ Маккензи, Дункан (2006). «Навигация по .NET Framework и вашим проектам с помощью моего пространства имен». Журнал MSDN Magazine Экскурсия по Visual Studio 2005, 2006 г. Майкрософт . Архивировано из оригинала 15 февраля 2014 года . Проверено 6 февраля 2014 г.
  16. ^ Уитни, Тайлер (ноябрь 2005 г.). «My.Internals: изучение моей функции Visual Basic». MSDN . Майкрософт . Архивировано из оригинала 14 июня 2012 года . Проверено 6 февраля 2014 г.
  17. ^ «Что нового в мастере обновления Visual Basic в Visual Basic 2005» . msdn2.microsoft.com . Архивировано из оригинала 6 апреля 2008 года . Проверено 29 января 2008 г.
  18. ^ «Определение и использование универсальных шаблонов в Visual Basic 2005». msdn2.microsoft.com . Архивировано из оригинала 23 апреля 2008 года . Проверено 29 января 2008 г.
  19. ^ «Перегрузка операторов в Visual Basic 2005». msdn2.microsoft.com . Архивировано из оригинала 23 апреля 2008 года . Проверено 29 января 2008 г.
  20. Шериф, Люси (22 февраля 2005 г.). «Real Software раскритиковала заявку на патент MS IsNot» . Регистр. Архивировано из оригинала 3 августа 2009 года . Проверено 6 апреля 2009 г.
  21. Тафт, Дэррил К. (21 февраля 2005 г.). «Настоящее программное обеспечение критикует патентные усилия Microsoft». электронная неделя. Архивировано из оригинала 31 июля 2012 года . Проверено 6 апреля 2009 г.
  22. ^ Вик, Пол А. младший; Барсан, Костика Корнелиу; Сильвер, Аманда К. (14 мая 2003 г.). «Заявка на патент США: 20040230959». База данных полных текстов и изображений патентной заявки . Ведомство США по патентам и товарным знакам. Архивировано из оригинала 11 февраля 2006 года . Проверено 6 апреля 2009 г.
  23. ^ "Что, черт возьми, такое "VBx"?" 1 мая 2007 года. Архивировано из оригинала 25 мая 2009 года . Проверено 12 августа 2009 г. В новой DLR появилась поддержка IronPython, IronRuby, Javascript и новой динамической компиляции VBx.
  24. ^ «Что нового в Visual Basic 2010» . Майкрософт . 2009. Архивировано из оригинала 4 августа 2009 года . Проверено 12 августа 2009 г. Visual Basic привязывается к объектам динамических языков, таких как IronPython и IronRuby.
  25. ^ «Что нового в Visual Basic 2010» . Майкрософт. 2010. Архивировано из оригинала 26 июля 2010 года . Проверено 1 августа 2010 г.
  26. ^ «Загрузите пакет разработчика Microsoft .NET Framework 4.5.2 для Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008 SP2, Windows Server 2008 R2 SP1, Windows Server 2012 и Windows Server 2012 R2 из официального центра загрузки Microsoft. ". Майкрософт . Архивировано из оригинала 9 января 2020 года . Проверено 11 января 2020 г.
  27. ^ «Новые языковые возможности в Visual Basic 14». msdn.com . Архивировано из оригинала 25 декабря 2014 года . Проверено 5 февраля 2015 г.
  28. ^ решмим. «Примечания к выпуску Visual Studio 2017». www.visualstudio.com . Архивировано из оригинала 22 января 2018 года . Проверено 5 апреля 2017 г.
  29. ^ решмим. «Что нового в Visual Basic 2017,15.3,15.5,15.8». www.visualstudio.com . Архивировано из оригинала 1 сентября 2019 года . Проверено 11 января 2020 г.
  30. ^ решмим. «Примечания к выпуску Visual Studio 2019». www.visualstudio.com . Архивировано из оригинала 29 ноября 2021 года . Проверено 2 августа 2019 г.
  31. ^ решмим. «Что нового в Visual Basic 16.0». www.visualstudio.com . Архивировано из оригинала 1 сентября 2019 года . Проверено 11 января 2020 г.
  32. ^ Рослин, .NET Foundation, 13 апреля 2019 г., заархивировано из оригинала 22 февраля 2021 г. , получено 14 апреля 2019 г.
  33. ^ «Перенаправление…». www.mono-project.com . Архивировано из оригинала 30 января 2021 года . Проверено 30 июня 2008 г.

дальнейшее чтение

  1. «Спецификация языка Visual Basic 8.0». Корпорация Майкрософт. 15 ноября 2005 года. Архивировано из оригинала 21 января 2011 года . Проверено 10 декабря 2010 г.
  2. «Спецификация языка Visual Basic 9.0». Корпорация Майкрософт. 19 декабря 2007 года . Проверено 28 сентября 2011 г.
  3. «Спецификация языка Visual Basic 11.0». Корпорация Майкрософт. 7 июня 2013. Архивировано из оригинала 5 марта 2012 года . Проверено 22 сентября 2013 г.

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