![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Помогите с классами в C# |
|
.NET - [решено] Помогите с классами в C#
|
Пользователь Сообщения: 76 |
Допустим есть у меня сложный класс FInfo.
FInfo info = new FInfo(); FInfo x; x = info; // так получается что в х ссылка таже что в info А как создать "x" со значениями к-ые уже есть в "info"? Т.е. что бы при работе с "x" не менялось значение в "info". Или скажем "x" присвоить все значения "info". Наверное придётся прописывать копирование почленно... |
|
Отправлено: 22:20, 26-04-2010 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Не совсем понятна суть проводимой операции. Логичный вопрос: А зачем?
|
------- Отправлено: 00:53, 27-04-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Что значит для чего? Для копирования.
![]() Пока лучший способ к-ый нашёл это через сериализацию (для сложного класса). Здесь есть пример, но он более трудоёмкий, чем хотелось бы: http://msdn.microsoft.com/ru-ru/library/ms173116.aspx |
Последний раз редактировалось SmallGod, 27-04-2010 в 02:37. Отправлено: 02:26, 27-04-2010 | #3 |
![]() Пользователь Сообщения: 133
|
Профиль | Сайт | Отправить PM | Цитировать SmallGod, можно использовать клонирование, реализовав в вашем классе интерфейс ICloneable путём добавления к нему метода Clone().
Вот ссылка на эту тему: Клонирование и интерфейс ICloneable. |
------- Отправлено: 09:54, 27-04-2010 | #4 |
Пользователь Сообщения: 74
|
Профиль | Отправить PM | Цитировать Не знаю как в С# но в С++ можно это сделать двумя известными и хорошо практикуемыми способами
1. через конструктор копирования 2. переопределить оператор = который будет возвращать не ссылку на объект а новый созданный объект со всеми значениями старого объекта. Уверен что такие подходы можно будет реализовать и в С#. Ну и плюс ещё те способы которые изложили выше. Так что выбирайте ![]() |
|
Отправлено: 10:09, 27-04-2010 | #5 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать EvgeniyQQQ Да, я про это знаю, но этот метод мне не подойдёт.
Решил всё таки, что буду делать как на msdn (так надёжнее и более точно прописать можно) Всем спасибо. Тема закрыта. |
Отправлено: 12:07, 27-04-2010 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
|