powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как сделать копию объекта пользовательского класса?
6 сообщений из 6, страница 1 из 1
Как сделать копию объекта пользовательского класса?
    #32541065
ignaci
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сделать копию объекта пользовательского класса?

У меня есть мой класс (унаследованый от Object). Иногда мне надо делать копии
объектов этого класса. Как мне добиться этого?
...
Рейтинг: 0 / 0
Как сделать копию объекта пользовательского класса?
    #32541187
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"ЛЮ-Ю-Ю-Ю-Д-И-И-И-И-И!!!!! ЧЕЛОВЕ-Е-Е-ЕКИ!!!!" (с) к/ф "Гараж"

Когда же вы, наконец-то, научитесь смотреть в документацию??!!!!

У класса System.Object не так уж много методов, чтобы среди их списка - не заметить слово MemberwiseClone !!!

Заодно и примерчик кода в той же документации присутствует:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
using System;

class MyBaseClass {
   public static string CompanyName = "My Company";
   public int age;
   public string name;
}

class MyDerivedClass: MyBaseClass {

   static void Main() {
   
   // Creates an instance of MyDerivedClass and assign values to its fields.
   MyDerivedClass m1 = new MyDerivedClass();
   m1.age =  42 ;
   m1.name = "Sam";

   // Performs a shallow copy of m1 and assign it to m2.
   MyDerivedClass m2 = (MyDerivedClass) m1.MemberwiseClone();
   }
}

З.Ы. заодно и понятным английским языком написано, что означает shallow copy ...
...
Рейтинг: 0 / 0
Как сделать копию объекта пользовательского класса?
    #32543272
ignaci
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если у тебя в класе имеются private или protected поля, этот способ тоже будет работать?
...
Рейтинг: 0 / 0
Как сделать копию объекта пользовательского класса?
    #32543368
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если у тебя в класе...

У меня в классе ничего нет, и быть не может... т.к. передо мной не стоит проблема копирования экземпляров классов.
Я ответил на поставленный вопрос не для того, чтобы выпутываться из "хитрых" ловушек, решая чужие проблемы, а для того, чтобы вы сами учились находить нужную вам информацию в доступных источниках.
...
Рейтинг: 0 / 0
Как сделать копию объекта пользовательского класса?
    #32543512
ignaci
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qu-qu вы очень любезны, спасибо за мудрый совет.
...
Рейтинг: 0 / 0
Как сделать копию объекта пользовательского класса?
    #32543758
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему, qu-qu был, все-таки, не очень любезен...
да и совет смотреть в доку весьма избит...
да и предложенный им метод не всегда делает то, что хошь, ведь зачастую мы имеем дело с полями ссылочных типов... :)

вообще, поройся на rsdn.ru по фразе deep copy
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как сделать копию объекта пользовательского класса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]