Microsoft Visual Studio 2005. Изменения в языке VB.NET

Обсуждение статей, опубликованных на сайте.
gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Microsoft Visual Studio 2005. Изменения в языке VB.NET

Сообщение gaidar » 05.01.2005 (Ср) 2:17

Гайдар Магдануров

Microsoft Visual Studio 2005. Изменения в языке VB.NET


http://www.vbstreets.ru/VBdotNET/Articles/66116.aspx
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.01.2005 (Ср) 5:11

И касаемо обращений к формам с использованием имени класса...

Имхо, це грубое нарушение ООП. В языке, получившем мощные ООП-возможности, так поступать нельзя. В VB6 всё-таки было можно...

Более того, ты пишешь, что загрузка всех форм происходит в момент запуска приложения. Значит ли это, что уже нельзя помещать некие специфические event-related действия в обработчик Form_Load, поскольку эти действия выполнятся не при реальном вызове, а при старте приложения?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 06.01.2005 (Чт) 0:23

Прежде всего, GSerg, флудить не надо!

GSerg писал(а):Имхо, це грубое нарушение ООП. В языке, получившем мощные ООП-возможности, так поступать нельзя. В VB6 всё-таки было можно...
?


Ничего подобного. Это всего лишь дефолтовые экземпляры. А так - создавай сколько хочешь. МОжешь и вообще их не использовать.

Более того, ты пишешь, что загрузка всех форм происходит в момент запуска приложения. Значит ли это, что уже нельзя помещать некие специфические event-related действия в обработчик Form_Load, поскольку эти действия выполнятся не при реальном вызове, а при старте приложения?


Можно, поскольку тебя никто не заставляет использовать дефолтовые инстансы! Хочешь - создавай свои. Ну, право, как маленький совсем :)
Form_Load запускается в момент отображения формы!
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Worobjoff
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 19.02.2005 (Сб) 17:51

Сообщение Worobjoff » 01.09.2005 (Чт) 15:49

Custom Events - "Настраиваемые события" или "Тюнинг событий"
Дословно что-то вроде "Оформленные по спецзаказу события".

Все что описано в статье - это здорово...
но как всегда думаешь "а раньше-то нельзя было сделать?" все что кроме этих Custom events программисты ждали (и неверили что дождутся).

А экземпляры по умолчанию - не такое уж нарушение в сравнении с публичными переменными в модулях VB.
Если в модуле всего лишь разрешить Shared-переменную, то мы и получим то что было в VB1-6.

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 29.05.2006 (Пн) 12:53

наконец дошли руки прочитал...читал, читал, думал не удевишь, и тут...опа-на:
Экземпляры по умолчанию

В Visual Basic.NET версии 2005 вернулся такой знакомый разработчикам синтаксис MyForm.Show(). Внимательный читатель заметил, что в объекте My (см. предыдущую статью цикла, посвященную My) используются экземпляры объектов форм по умолчанию.
Да, действительно, в момент запуска приложения создаются экземпляры объектов форм и теперь можно обращаться к форме используя ее имя, не создавая переменной соответствующего типа. Например, ранее, для того, чтобы показать форму приходилось писать:

Код: Выделить всё
Dim myForm as SimpleForm
myForm = New SimpleForm()
myForm.Show()

И работать с формой используя ссылку myForm. Теперь же можно показать форму так же, как это было в старом добром VB6 и более ранних версиях VB:

Код: Выделить всё
SimpleForm.Show()


Единственное пока существующее ограничение на использование экземпляров по умолчанию - это обращение класса к самому себе. То есть внутри класса формы SimpleForm необходимо ссылаться на внутренние свойства и методы этого класса как, например, Me.Text, а не как SimpleForm.Text.


ну порадовал, ну я просто обалдел, сколько времени уже на 2005 пишу....и не знал :oops:

СПАСИБО Изображение

а так вообще ничего, очень даже. Я требую продолжения банкета (С)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 29.05.2006 (Пн) 13:49

А по моему возвращение к экземплярам по умолчанию - пакость способная запутать неопытного пользователя.
Весь мир матрица, а мы в нем потоки байтов!

Vinechka
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 381
Зарегистрирован: 10.05.2005 (Вт) 4:07
Откуда: Москва

Сообщение Vinechka » 29.05.2006 (Пн) 14:17

!Viper!
Согласен. Но если он этому где-то учится, то учитель думаю ему грамотно все разжует, а если он учится сам и запутался - ему есть, что выпить. :) А мы и сами разберемся ;)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 29.05.2006 (Пн) 14:33

Vinechka писал(а):...а если он учится сам и запутался - ему есть, что выпить. :) ...


а когда он допьет, то придет сюда и придется ему долго объяснять разницу между классом и экземпляром класса на примере формы
Весь мир матрица, а мы в нем потоки байтов!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.05.2006 (Пн) 15:11

Да. Это жуткий бред.
Вычистили в 2003 это мерзкую неоднозначность класса и экземпляра, а в 2005 вернули.
Фу.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 29.05.2006 (Пн) 15:17

GSerg
но, для тех кто знает разницу, это согласитесь удобно :)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.05.2006 (Пн) 16:11

Не согласимся.
Я знаю эту разницу, и именно поэтому я никогда не использую этот бред в VB6 - обращение к форме по имени класса.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 29.05.2006 (Пн) 16:50

GSerg убедил
:cry:

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 29.05.2006 (Пн) 19:09

Я тоже не пользуюсь и, самое главное, не буду. Поскольку они только вносят путанницу в язык. Смысл их появления - упрощение переноса VB6 кода, где такое было сплош и рядом.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali


Вернуться в Статьи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList