Вам нужно использовать интерфейс ICloneable или этого достаточно, если у вас просто есть два метода с именем Clone
и Copy
, которые определены в универсальном интерфейсе?
public class YourClass : ICloneable<YourClass>
{
// Constructor logic should be here
public YourClass Copy() { return this; }
public YourClass Clone() { return new YourClass(ID, Name, Dept); }
}
interface IClonable<T>
{
T Copy();
T Clone();
}
Или я что-то не так понял?
Что я пытаюсь сказать, так это то, что вам не нужно делать это более сложным, чем оно есть? Если вам нужно, чтобы ваши объекты соответствовали кому-то, вы можете написать его самостоятельно, если тот, который указан в .Net Framework, слишком сложен для данной ситуации. Вы также должны определить разницу с Clone
и Copy
, то есть, что они значат для вас? Я знаю, что есть несколько сайтов, которые указывают, что Clone
это глубокая копия, а Copy
это мелкая копия.