|
|||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||
|
Труднощі переходу на VB .NET
Виникає
принадна картина: ви запускаєте
програму перетворення, трохи
допрацьовуєте отриманий
результат, і програма VB
автоматично адаптується для VB .NET! Повірте, цей
шлях веде в безвихідь. Щоб повною мірою
використовувати переваги VB .NET, необхідно
грунтовно знатися
на об'єктно-орієнтованому програмуванні
і принципах роботи
.NET Framework. Вам не доведеться запам'ятовувати
тисячі методів, що
входять в .NET Framework, але для
свідомого читання документації
або використання засобів Intellisense,
вбудованих в IDE, потрібно знати, як
працює .NET. Без хорошого розуміння
цього матеріалу ви просто не
зможете працювати в IDE з дизайнерами
форм Windows і Web. Щоб представити
масштаб змін, досить
розглянути простий приклад
— форму, на якій знаходиться
кнопка. У колишніх версіях VB
весь код, пов'язаний з кнопкою (і що
виконувався при її натисненні),
знаходився в процедурі події Click. Відразу попереджаю:
при розміщенні кнопки
на формі VB .NET середовище програмування
генерує значно більший
об'єм коди. У цій книзі ми
постараємося показати, чому в цьому
коді варто розібратися — причому
так, щоб він здавався не складнішим
за простого обробника Click. Приведений нижче
фрагмент (що в основному
автоматично згенерував)
розміщує кнопку на формі і виводить
вікно повідомлення при натисненні кнопки.
Числа в дужках до програми не
відносяться, вони просто використовуються
для посилань на рядки лістингу в
тексті книги. (1) Public Class
Form1 (2) Inherits System.Windows.Forms.Form (3) #region "
Windows Form Designer generated code " (4) Public Sub New() (5) Mybase.New() ' Виклик
необхідний для роботи дизайнера форм Windows (6)
Initializecomponent() '
Подальша ініціалізація
виконується ' після виклику
Initializecomponent() End
Sub ' Форма
перевизначає Dispose для очищення
списку компонентів. (7) Protected
Overloads Overrides Sub Dispose(Byval disposing As Boolean) If
disposing Then If Not (components
Is Nothing) Then components. Dispose()
End If End If Mybase.Dispose(disposing)
End Sub (8) Friend
Withevents Buttonl As System.Windows.Forms.Button ' Необхідно для роботи дизайнера форм Windows Private components
As System.ComponentModel.Container ' УВАГА: наступний фрагмент необхідний для дизайнера форм Windows ' Для його модифікації слід використовувати дизайнер форм. ' Не
змінюйте його в редакторові! (9) <System.Diagnostics.DebuggerStepThrough()> Private Sub _ Initializecomponent() ' 'Button1 ' Me.Buttonl.Location = New System.Drawing.Point(109, 224) Me.Buttonl.Name =
"Buttonl" Me.Button1.Size -
New System.Drawing.Size(200. 48) Me.Button1.TabIndex
= 0 Me.
Button1. Text =
"Click me!" ' 'Form1 ' Me.AutoScaleBaseSize
= New System.Drawing.Size(5. 13) Me.ClientSize = New
System.Drawing.Size(292. 216) Me.Controls.AddRange(New
System.windows.Forms.Control() {Me.Button1}) Me.Name = "Forml" Me.Text = "First
windows Application" Me.ResumeLayout (False)
End Sub #end Region (10) Private Sub Buttonl_c1ick(Byval sender As System.Object._ Byval e As System.EventArgs)
Handles Buttonl_click Msgbox("Welcome to Visual Basic .NET!") End Sub
(11) End Class
Картина
була б неповною, якби ми не згадали
про С#. Велика частина .NET Framework
написана на С#, тому деякі
вважають, що саме С# є справжньою
мовою .NET. Хоча С# трохи могутніше VB .NET,
99% програмістів ніколи не
користуватимуться його додатковими
можливостями.
Тому, хто ніколи не програмував
на C/c++, мова С# може
показатися незрозумілим і складнішим, ніж VB .NET. Крім
того, VB .NET має ряд
безперечних переваг перед С#.
Нижче перераховані п'ять з них,
які нам здаються найважливішими:
|
|
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||