c # type a = новый тип (b); - PullRequest
       1

c # type a = новый тип (b);

0 голосов
/ 16 октября 2011

В C # как создаются новые экземпляры объектов, которые являются копиями существующих вместо стандартных.

Например:

door a = new door();
door b = a;
door c = new door(a);
b.open();
a.is_open(); // yes
b.is_open(); // yes
c.is_open(); // no

edit: Если это полезно, я сделал это после принятия ответа и опубликую его здесь.

public class copyable // inherit from this to make you'r object copyable
{
    public heading copy()
    {
        return (heading)MemberwiseClone();
    }
}

Ответы [ 2 ]

3 голосов
/ 16 октября 2011

При передаче параметра в конструктор нет простого способа создать копию, кроме копирования всех полей. Вы можете использовать door c = a.MemberwiseClone(); для создания мелкой копии или свернуть свою собственную.

0 голосов
/ 16 октября 2011

Если вы хотите создать копию объекта, вы должны создать конструктор копирования или присваивать им значение iclonable

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...