Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Comanche

Как сделать у класса "сложное" свойство?

18.01.2011, 12:41. Показов 881. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть класс CMessage, представляющий собой элемент коллекции CMessages. Коллекция - это набор неких почтовых сообщений, а экземпляр класса CMessage - это собственно почтовое сообщение. У данного класса есть куча свойств ('From', 'Subject', 'MessageBody' и т.д. и т.п.). Теперь понадобилось описАть в классе MIME-параметры сообщения. Создал для этих целей следующие строковые свойства:
- ContentType
- ContentSubType
- ContentBoundary
- ContentCharset
- ContentTransferEncoding
и так далее...

Потом подумал: ведь было бы 'круче' (в смысле, что удобнее) создать ОДНО свойство 'Content', и все эти 'Type', 'Boundary', 'Charset' описАть уже как 'суб-свойства'. Ну типа как свойство 'Font', имеющееся почти у каждого VB-контрола:
- Text1.Font.Charset = 204
- Text1.Font.Bold = True
- Text1.Font.Name = 'Tahoma'
(и так далее).

Однако, бэйсик не позволяет использовать user defined types в качестве параметров или return types у процедур и функций, объявленных как Public. Значит, объявить это своё свойство 'Content' с типом, указывающим на свой Type, я не смогу.

Свойству 'Font' хорошо: оно объявлено как 'StdFont' - это вам не user defined type )

Что делать? объявлять Content As ContentClass, где ContentClass - тоже некий класс (со свойствами 'Type', 'SubType' и проч.)? или ещё как?
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2011, 12:41
Ответы с готовыми решениями:

Как заставить свойство "Text" компонента Label забиндиться на свойство TheChar из пользовательского класса
Здравствуйте, не получается заставить свойство "Text" компонента Label забиндиться на свойство TheChar из моего класса, основанного на...

Можно ли сделать свойство приватным при наследовании класса?
Допустим, мне нужно наследовать класс Button(windows forms) и сделать недоступным изменение параметра Size, как это можно реализовать?

Как сделать сложное адаптивное меню
Нужно сделать меню хотя бы приблизительно похоже как на этом сайте http://www.jurassicworld.com/?redirect=off. Может кто встречал готовые...

6
Hover
19.01.2011, 14:52
А разве функции назначения свойств обязательно должны быть public?
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
19.01.2011, 16:03
А как задать свойство извне, если оно не Public?????????
0
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 20
19.01.2011, 16:46
1. объявлять Content As ContentClass - ДА.

2. Еще должно получиться так:
- сделать тлб и там прописать твой UDT
- подключить тлб к проекту
- прописать паблик свойство с этим UDT
0
Comanche
19.01.2011, 17:18
А чем мы обычно делаем TLB?
:-))
в смысле - софт...
0 / 0 / 0
Регистрация: 08.11.2010
Сообщений: 20
19.01.2011, 18:10
Блокнотом и MIDL.EXE
подсветка в Вижуал С++.
0
Comanche
19.01.2011, 22:16
MIDL.EXE? - ах, ну само собой разумеется! и как я мог забыть?!
:-)))))))))))

Ну а если без шуток - я вообще не знал, как делать библиотеки типов.
Спасибо большое!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.01.2011, 22:16
Помогаю со студенческими работами здесь

Как получить свойство класса?
В продолжении темы визитора :cry: Есть, к примеру, вот такой код: public interface IAnimals { string Name { get; set; } } ...

Диапазон как свойство класса
Добрый день уважаемые. Не знаю как правильно реализовать. У есть свойство класса которое по сути диапазон допустимых значений от...

Ссылка на объект как свойство класса
Добрый вечер. Есть 2 класса: сотрудники и компании. Если использовать БД то вопрос бы решался очень просто, он почитав не много понял...

Как изменить свойство у одного экземпляра класса?
есть классы /*=====================================================================================================*/ struct ExCommand ...

Ellipse, как задать свойство Fill из класса?
Как можно задать свойство Fill у элемента Ellipse из класса MyClass? Класс находится за пределами MainWindow. Как по аналогии с label1 это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru