![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| mel |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
Как вызвать обычный метод в статическом не создавая объекта формы?
пробывал вот так:
Вылетает. |
||||
|
|||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 4 Всего: 62 |
Никак Статические методы доступны до создания соответствующего объекта. В связи с этим возникает ограничение: статические методы могут работать только со статическими методами и полями. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
и <имя класса>.<имя не статического метода> - не проходит?т.е., вроде бы как у нас метод - статический? в PHP, например, точно реализуется так.... не знаю,как в других... И, в принципе, почему бы и нет? в отличии от полей, методы(как статические, так и нестатические) относятся к классу, а не к конкретным объектам, только хранятся по-разному(динамические/виртуальные - в своих таблицах, "обычные" и статические - "просто")... попробуй, а то под рукой нет C#.
Добавлено @ 20:25 вообще, похоже сказал глупость. прошу прощения |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 4 Всего: 62 |
Неа. Не глупость. Просто допустил неточность. Все верно. Однако нельзя забывать о том, что хоть нестатические методы и "относятся к классам", они могут содержать в качестве параметров нестатические поля, о значениях которых до создания объекта CLR не имеет понятия. Именно поэтому и вводится такое ограничение на статические методы. |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 11 Всего: 149 |
Все нестатичееские методы неявно имеют параметром ссылку на объект для которого вызывают метод. Поэтому
mel, а зачем такой изврат? Можно задачу услышать? |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
||||
|
||||
| mel |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
У меня в проге хук реализованн статическими функциями. Лавлю клавишу, а нужный код заюзать не могу.
НО! Проблемму решил.
А в статической функции вызываю так
И все работает ). Чему очень рад. Это сообщение отредактировал(а) mel - 28.2.2007, 02:28 |
||||
|
|||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 11 Всего: 149 |
mel, отлично
Небольшое замечание: Это поле лучше сделать свойством с доступом только на чтение. Мало ли кто-то захочет его поменять, а это ведь делать нельзя. Это просто хороший стиль программирования |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |