![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Гость_tokaplan |
|
|||
|
Unregistered |
Как прированять один объект другому, чтобы в дальнейшем они не были связаны, если в этом классе нет Clone()? (Form)
|
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
хм, ну можно попробовать покапать в сторону Serializing Objects, ms-help://MS.VSCC/MS.MSDNVS/cpguide/html/cpovrserializingobjects.htm
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 6 Всего: 118 |
Вобщем-то идея с сериализацией неплохая.
Но тогда чем это проще чем реализовать Clone ? |
|||
|
||||
| stab |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
тем что можно один раз написать код для сеарилизации\десеарилизации и использовать для любых объектов любого класса, ну почти для любых
использовать так:
на основе этого кода думаю будет не сложно сделать SaveToStream, LoadFromStream что печально, так это то что, для Form я не смог заставить этот код работать..., но для простых типов все работает, знать бы только те причины из-за которых для Form не работает. Где она мера простоты типа? з.ы. фактически все это выжимки из хелпа Это сообщение отредактировал(а) cully - 12.7.2003, 01:06 -------------------- 6, 6, 6 - the number of the beast. |
||||||
|
|||||||
| PRIZRAK001 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 13.7.2005 Репутация: нет Всего: 1 |
Я только начинаю изучать C#, до этого писал на С++. И как новичка меня заинтересовала эта тема.
Почему всё так сложно (сериализация, метод Clone())?. Неужели нельзя просто взять и сделать копию объекта? Это не недоработок С# или специально задуманная фича? |
|||
|
||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: 1 Всего: 8 |
Это незнание предмета
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Согласен с lovermann, объясню почему. Допустим, есть у нас некий класс (во, в рифму сказал Но, слава богу, в нашей реальности всё по-другому. Есть замечательный механизм сериализации, позволяющий настраивать с пом. атрибутов набор копируемых полей и свойств, а также дополнять и перекрывать метод Serialize. Есть интерфейс ICloneable. Никто не решает за тебя, как копировать объект. -------------------- ![]() |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 3 Всего: 154 |
Чтобы твоя форма работала, необходимо чтобы все типы, которые она использует, были сериализуемыми (т.е. имели соответствующий атрибут) Кроме того, сам класс твоей формы, должен быть помечен этим же атрибутом. Прочитай про серилизацию в MSDN. Там об этом более подробнее сказано. -------------------- |
|||
|
||||
| PRIZRAK001 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 13.7.2005 Репутация: нет Всего: 1 |
mr.DUDA
Теперь понятно. Спасибо, что объяснил. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |