U>Как это сделать с наименьшим геммороем? Не хочется вручную копировать все поля. Ничего не придумал лучше как использовать xml сериализацию с хаком. Есть ли более оптимальный/правильный путь?
Ы? Или я что то не так понял?
#1
class Base<TDerived> where TDerived : new()
{
public TDerived NewTDerived()
{
return new TDerived();
}
}
class Derived : Base<Derived>
{
}
#2
abstract class Base<TDerived>
{
public abstract TDerived NewTDerived();
}
class Derived : Base<Derived>
{
public override Derived NewTDerived()
{
return new Derived();
}
}