161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
||||||||||||||||
1 | ||||||||||||||||
Set в свойстве класса26.07.2011, 11:55. Показов 1557. Ответов 18
Метки нет (Все метки)
Здравствуйте!
Есть свойство класса:
Как сделать, что бы можно было в коде использовать конструкцию вида:
Пока приходится делать так:
0
|
26.07.2011, 11:55 | |
Ответы с готовыми решениями:
18
Не работает set в пользовательском свойстве UserControl В свойстве описываются только блоки get set, но не реализовываются. Исправить код Использование имя object в свойстве класса Выбор поля класса в свойстве UserControl |
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
|||||||||||
26.07.2011, 12:10 [ТС] | 3 | ||||||||||
Смотри, сейчас что бы присвоить что либо свойству zoom, мне нужно писать такую конструкцию:
0
|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
||||||
26.07.2011, 14:01 [ТС] | 5 | |||||
Но я же получаю ссылку:
0
|
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
|
|
26.07.2011, 14:26 | 6 |
ничо не понятно скинь весь класс и то место где выдает ошибку
0
|
26.07.2011, 15:34 | 7 | |||||
но я так понимаю, что тебе это не нравится. что такое по-твоему "автоматически" я тоже не догоняю. может, то, что ты пишешь в двух операторах равносильно такой записи:
но опять же: я не понимаю, что такое из себя твой объект представляет, и что из себя представляют его свойства.
0
|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
|
26.07.2011, 16:02 [ТС] | 8 |
novi4ok, Map - это объект из пространства MapInfo (MapXtreme).
0
|
26.07.2011, 16:35 | 9 |
в эти пространства никогда не углублялся, потому не знаю, что такое Zoom, например.
удивляет, что ты утверждаешь, что mapObject - совойство, в то же время оно private. еще не могу догадаться, что ты все-таки хочешь сделать. я имею ввиду, например, что такое, ты думаешь, здесь:
0
|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
|||||||||||
26.07.2011, 16:39 [ТС] | 10 | ||||||||||
Я хочу сделать так, что бы при обращении к свойству zoom мне не надо было создавать ещё один объект:
Например как здесь:
0
|
176 / 168 / 27
Регистрация: 12.01.2009
Сообщений: 430
|
|
26.07.2011, 17:17 | 11 |
Map структура или класс?
0
|
26.07.2011, 17:26 | 12 |
Покажи пример кода, где ты это используешь. Можешь удалить все лишние методы, которые никак не относятся к вопросу, просто не понятно в каком контексте, что ты используешь и что ты хочешь тоже вообще не понятно. Вот несколько раз перечитывал, пытался осилить, но в итоге только догадки.
Не по теме:
Вообще ещё что скажу автору темы, это ты представляешь, что и как у тебя в проге и понимаешь, что ты хочешь сделать и у тебя не получается. Когда (и если) будешь сюда писать ответ и выкладывать более подробный код, то посмотри на код так, как будто ты вообще его впервые видишь, надеюсь поймёшь каких деталей там не достаёт, а если нет то я уже писал серым текстом в "Не по теме" (последнее предложение). Добавлено через 2 минуты Он уже писал.
0
|
26.07.2011, 17:45 | 13 | ||||||||||
кажется доперло! ты просто не отличаешь object от object reference.
объект - это как телевизор. а ссылка - это как пульт управления телевизором. ты не создаешь еще один объект. ты создаешь еще одну ссылку на тот же объект (еще один пульт управления тем же одним теликом). понятно? если то, что ты написал, в первом отрывке, делает то, что тебе надо, то пиши просто как я тебе уже приводил:
0
|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
||||||
26.07.2011, 18:00 [ТС] | 14 | |||||
Вот весь класс в котором это происходит:
0
|
26.07.2011, 18:41 | 15 |
зачем тебе вообще private Map map; понадобился? он ведь фактически ничго не делает, только запутывает самого тебя. он, конечно, производительности тебе повышает, но ты сам себе это устроил, введя "private property". концепция свойств у класса не для того придумана. ты используешь эту концепцию не по прямому назначению.
0
|
26.07.2011, 20:42 | 16 | ||||||||||
У тебя вылетает исключение, потому-что ты обращаешься к map:
0
|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
|
26.07.2011, 22:15 [ТС] | 17 |
Casper-SC, дак так у меня сейчас сделано.
0
|
26.07.2011, 23:05 | 18 | |||||
Посмотри отличия, у тебя не совсем так сделано. Я сделал по нормальному, а у тебя зачем-то получение Map в поле класса потом уже работа с этим полем, и всё это через приватное свойство (плюс ко всему свойство с маленькой буквы начинается).
Ну если тебе нужно подругому, раскомментируй подробно, что делается в свойстве. И почему каждый раз надо создавать новый объект? Да и вообще зачем придумывать этот гемор с свойством? И так нормально всё должно работать. Если бы у тебя свойство получало объект только в определённых ситуациях, а так в основном давало доступ к полю, то можно было бы так (это просто пример):
1
|
161 / 101 / 22
Регистрация: 11.05.2009
Сообщений: 628
|
|
27.07.2011, 10:04 [ТС] | 19 |
Спасибо, сделаю так как ты сказал.
0
|
27.07.2011, 10:04 | |
27.07.2011, 10:04 | |
Помогаю со студенческими работами здесь
19
Проверка корректности ввода данных в свойстве экземпляра класса Два класса и данные через get/set Объект базового класса вернуть как get set Методы get и set для объектов базового класса Доступ через get/set к элементам массива внутри класса Почему иногда свойствами называют и переменные класса, а так же set и get Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |