Пишу свой стиль колонки для DataGridView.
Вот что говорит MSDN: be sure to override the Clone method to copy the new properties during cloning operations. You should also call the base class's Clone method so that the properties of the base class are copied to the new cell or column.
Вопрос такой: я же буду возвращать объект нового, derived класса. Как мне воспользоваться base Clone(), чтобы скопировать свойства в возвращаемый объект? Или в ручную поназначать их из того, что вернёт base Clone(), но зачем тогда его вообще вызывать?
Что они ввиду-то поимели?
Override Clone()
От:
Аноним
Дата:
17.08.06 23:15
Оценка:
в базовом нутря, недоступные для простых смертных, скопируются, а дальше ты должен будешь докопировать все свои дополнительные свойства.
Здравствуйте, AlexV_555, Вы писали:
AV_>в базовом нутря, недоступные для простых смертных, скопируются, а дальше ты должен будешь докопировать все свои дополнительные свойства.
А как это будет выглядеть? Clone же вернёт объект родительского типа. Typecast его в свой класс?
Киньте пример, пожалуйста, я наверно чего-то в донетовском ООП недопонял.
Здравствуйте, i-um, Вы писали:
IU>Здравствуйте, AlexV_555, Вы писали:
AV_>>в базовом нутря, недоступные для простых смертных, скопируются, а дальше ты должен будешь докопировать все свои дополнительные свойства.
IU>А как это будет выглядеть? Clone же вернёт объект родительского типа. Typecast его в свой класс? IU>Киньте пример, пожалуйста, я наверно чего-то в донетовском ООП недопонял.
Здравствуйте, i-um, Вы писали:
IU>Пишу свой стиль колонки для DataGridView. IU>Вот что говорит MSDN: IU>be sure to override the Clone method to copy the new properties during cloning operations. You should also call the base class's Clone method so that the properties of the base class are copied to the new cell or column. IU> IU>Вопрос такой: я же буду возвращать объект нового, derived класса. Как мне воспользоваться base Clone(), чтобы скопировать свойства в возвращаемый объект? Или в ручную поназначать их из того, что вернёт base Clone(), но зачем тогда его вообще вызывать?
IU>Что они ввиду-то поимели?
можно сделать MemberwiseClone, а потом, если что-то еще надо, то подправить.
Здравствуйте, i-um, Вы писали:
IU>Здравствуйте, AlexV_555, Вы писали:
AV_>>в базовом нутря, недоступные для простых смертных, скопируются, а дальше ты должен будешь докопировать все свои дополнительные свойства.
IU>А как это будет выглядеть? Clone же вернёт объект родительского типа. Typecast его в свой класс? IU>Киньте пример, пожалуйста, я наверно чего-то в донетовском ООП недопонял.
Можно, например так:
public class A : IClonable
{
public virtual object Clone()
{
A a = (A)Activator.CreateInstance(this.GetType());
...
}
}
public class B : A
{
public override object Clone()
{
B b = (B)base.Clone()
...
}
}