В С#, каков предпочтительный способ добавления (глубокой) функции копирования в класс? Следует ли реализовать конструктор копирования или, скорее, получить из ICloneable
и реализовать метод Clone()
?
Примечание: Я написал "глубоко" в скобках, потому что думал, что это не имеет значения. По-видимому, другие не согласны, поэтому я спросил должен ли конструктор/оператор/функция копирования указывать, какой вариант копирования он реализует.