
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.242] |
![]() |
|
Страницы: (23) « Первая ... 11 12 [13] 14 15 ... 22 23 ( Перейти к последнему сообщению ) |
Прикр. сообщ.
#1
,
|
|
|
![]() |
Сообщ.
#181
,
|
|
custom attributes in delphi2010 : http://www.malcolmgroves.com/blog/?p=476
|
Сообщ.
#182
,
|
|
|
Три раза читал, пытался понять, какая же от них польза. Что-то так и не въехал. Кто-нибудь разжуёт?
|
![]() |
Сообщ.
#183
,
|
|
Цитата CodeMonkey @ Три раза читал, пытался понять, какая же от них польза. Что-то так и не въехал. Кто-нибудь разжуёт? Ну, например при XML-сериализации удобно указывать чем будет данное свойство атрибутом элемента класс, или дочерним элементом. Какие будут имена у атрибутов\элементов. Какие надо вообще игнорировать. До появление Entity Framework было удобно делать мапперы. В общем польза-то от них есть, но вот как это тут все будет реализовано, если как generic'и, то лучше бы вообще не делали бы. |
![]() |
Сообщ.
#184
,
|
|
Цитата CodeMonkey @ Три раза читал, пытался понять, какая же от них польза. Что-то так и не въехал. Кто-нибудь разжуёт? атрибут - это пользовательстая компил тайм информация. Соответственно атрибуты можно использовать если ты хочешь передать в рантайм инфомацию, которую ты имеешь в компил тайм, причем эта информация ассоциирована с какими то элементами языка. свойствами/типами/параметрами и тд. Из применений: упомянутые выше сериализация и маппинг. Или например через атрибуты удобно задавать "user-friendly" имена для свойств в инспекторе объектов. ну или вот: http://projects.rsdn.ru/RFD/wiki/Aspects#%D0%90%D1%81%D0%BF%D0%B5%D0%BA%D1%82%D1%8B - много чего задается атрибутами. |
Сообщ.
#185
,
|
|
|
Хм, всё равно как-то слабо представляю, чем это будет отличаться от объявления, скажем, массива с именами или там виртуальных методов. В общем, наверное, надо пощупать, чтобы сообразить.
|
![]() |
Сообщ.
#186
,
|
|
Цитата CodeMonkey @ Хм, всё равно как-то слабо представляю, чем это будет отличаться от объявления, скажем, массива с именами или там виртуальных методов. тем же, чем существующее rtti отличается от простого объявления массива с именами. |
Сообщ.
#187
,
|
|
|
Цитата Profi @ В общем польза-то от них есть, но вот как это тут все будет реализовано, если как generic'и, то лучше бы вообще не делали бы. Согласен. Весчь действительно полезная и нужная, но вспоминая что я когда-то то же самое говорил о дженериках... ![]() |
![]() |
Сообщ.
#188
,
|
|
а я пока пользы от их не увидел. все этоже можно зделать и с published свойствами (это насчет сериализации xml или тогоже примера для sql)
пока бесполезная вещь. хотя нужно будет дома выкроить время и потестить тот пример на делфи. может и поменяю мнение |
Сообщ.
#189
,
|
|
|
Цитата jack128 @ тем же, чем существующее rtti отличается от простого объявления массива с именами. Ну так существующее RTTI работает автоматически - вам ничего делать не нужно: просто юзайте его уже готовую инфу. А тут надо атрибуты вписывать (руками). Руками же какие-то служебные классы создавать ![]() |
Сообщ.
#190
,
|
|
|
Цитата ViktorXP @ все этоже можно зделать и с published свойствами Нет. Пример, который уже приводили, объясню на пальцах. Допустим, я пишу какую-либо программу для построения электрических схем. У меня есть объекты - резисторы, конденсаторы и т.п. В программе они представлены соответствующими классами. У классов есть published-свойства: для резистора - сопротивление, мощность, ТКС и т.д. Есть у меня в программе и некий контрол, вроде инспектора объектов, который берет информацию о published-свойствах прямо в рантайм, отображает в удобном для пользователя виде, позволяет редактировать и т.д. Т.е. пишет русские названия, группирует параметры по категориям, пишет рядом с числом единицы измерения и т.д. Как мне при проектировании класса указать, что мол в инспекторе свойство "Resistance" нужно назвать "Сопротивление", поместить в категорию "Основные параметры", для ввода использовать редактор вроде Edit-а, только способного вводить только неотрицательные вещественные величины, а свойству присвоение делать с учетом единиц измерения? Наверное, придется писать еще не мало кода. А если была бы возможность задавать свойству произвольные атрибуты, то я: 1. Написал бы класс-инспектор, умеющий работать с атрибутами 2. Прямо при объявлении класса "резистор" и проч. указал бы нужные атрибуты. И все дела. Экономия времени и сил огромная и она тем больше, чем больше у меня классов в программе. Возможность расширить RTTI под собственные нужды - это круто. Конечно, можно обойтись без RTTI вовсе, и без ООП раньше тоже программы писались ![]() Добавлено Цитата CodeMonkey @ Ну так существующее RTTI работает автоматически - вам ничего делать не нужно: просто юзайте его уже готовую инфу. А тут надо атрибуты вписывать (руками). Руками же какие-то служебные классы создавать Чем это лучше? На самом деле в Delphi уже давно используются что-то типа атрибутов свойств, только они совсем не произвольные, а жестко заданные. Я имею в виду то, что указывается директивами default и stored. Без них ведь тоже можно было обойтись, написать парочку лишних классов служебных, в которых чего-то там указать ![]() |
![]() |
Сообщ.
#192
,
|
|
да. есть там такое. уже успел попробовать. прикольная штука но не всегда стабильно работает. если я выбрал прямые движение то работает на ура. а если брать круг или фигуру от руки нарисовать то практически не реально заставить систему на нее среагировать.
|
![]() |
Сообщ.
#193
,
|
|
ембаркадеро выложила логотипы своих продуктов.
http://edn.embarcadero.com/article/37476 только вот я не понял зачем. что мне это даст? это типа что бы пользователь знал что этот продукт написан на делфи с использованием интербейса? да как по мне то пользователю побарабану на это лижбы работало. |
![]() |
Сообщ.
#194
,
|
|
![]() |
Сообщ.
#195
,
|
|
класссссссс!! еще бы iso образ
Добавлено диск тоже есть http://cc.embarcadero.com/reg/delphi я кстати с описаний понял что они сделали динамическую загрузку api. этаж здорово |