32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
|
|
Как передать нестатическое поле в статический метод класса?15.10.2014, 18:59. Показов 4916. Ответов 12
Метки нет Все метки)
(
есть статическая фукция
static LRESULT CALLBACK WndProc ( HWND,UINT,WPARAM,LPARAM); в ней нужно использоавть поля класса, вопрос - как
0
|
15.10.2014, 18:59 | |
Ответы с готовыми решениями:
12
Как передать в метод класса Menu указатель на метод дочернего класса? Как объявить статический метод класса? Как вместо ссылки на экземпляр класса передать поле класса? |
:)
![]() 4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
15.10.2014, 19:12 | ||
0
|
:)
![]() 4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||||||||
15.10.2014, 19:17 | ||||||||||||
0
|
19459 / 10070 / 2453
Регистрация: 30.01.2014
Сообщений: 17,751
|
|
15.10.2014, 21:58 | |
mh-coder, я в свое время когда задавался этим вопросом, то просто брал и изучал как написаны известные GUI библиотеки. Вот например.
WinProc - есть не что иное как callback, за передачу туда параметров отвечает вызывающая сторона. Обычно, при использовании архитектуры с callback`ами, предусматривают возможность передачи контекста (обычно это void*), который может быть интерпретирован нужным пользователю (т.е. тобой) образом. При регистрации callback в конструкторе нашего класса передаем в качестве контекста this, а в callback`е - преобразуем void * к указателю на наш класс. Итого имеем возможность вызывать методы класса из static или свободной функции через переданный контекст. Но, при регистрации WinProc, такой возможности нет. Поэтому придется искать обходные пути.
0
|
Модератор
![]() ![]() 13759 / 10955 / 6487
Регистрация: 18.12.2011
Сообщений: 29,214
|
|
15.10.2014, 22:17 | |
Не вижу смысла тогда запихивать ее в члены класса.
Объявить ее там как дружественную да и дело с концом. А данные класса передавать либо через глобальные переменные, либо через сообщение WM_USER в параметрах wparam или lparam
0
|
32 / 30 / 4
Регистрация: 01.02.2014
Сообщений: 878
|
|
15.10.2014, 22:33 [ТС] | |
лан, все спасибо, проблему решил, сделал статик указатель на класс и передаю его в функцию
0
|
15.10.2014, 22:33 | |
Помогаю со студенческими работами здесь
13
Как сделать методы к полям класса и перезапущенную операцию (статический метод)? Как рефлексией динамически получить статический метод для класса Convert
Вызов метода из другого класса, при этом нельзя создать объект второго класса и метод не статический Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Оптимизация производительности Express.js бэкенда
Reangularity 23.05.2025
Express. js заслуженно остаётся одним из самых популярных инструментов для создания бэкенда, но даже он не застрахован от проблем с производительностью. Многие разработчики сталкиваются с ситуацией,. . .
|
Продвинутая обработка данных с LINQ в C#
stackOverflow 23.05.2025
LINQ (Language Integrated Query) — это фундаментальное изменение парадигмы работы с данными в C#. Простые запросы Where и Select знакомы любому разработчику, но настоящая мощь LINQ раскрывается в. . .
|
Инфраструктура PKI и сертификатов безопасности
Mr. Docker 23.05.2025
PKI (Public Key Infrastructure) — это невидимый фундамент цифрового доверия, без которого современный интернет просто рассыпался бы как карточный домик. За этой аббревиатурой скрывается целый. . .
|
Аутентификация OAuth в Python
py-thonny 22.05.2025
OAuth (Open Authorization) — это целый стандарт для делегированного доступа. Звучит занудно? Давайте проще: OAuth позволяет приложениям получать доступ к информации пользователя на сторонних сервисах. . .
|
Хеширование и соль паролей в веб-приложениях C#
stackOverflow 22.05.2025
Когда-то в начале своей карьеры я тоже грешил простейшими подходами к хранению паролей – MD5-хеширование казалось верхом защиты. Но технологии не стоят на месте, вычислительные мощьности растут, и. . .
|
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
|
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
|
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL.
Что. . .
|
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
|
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
|