Re: Создать экземпляр производного класса из экземпляра базового
От: Tom Россия http://www.RSDN.ru
Дата: 18.04.13 09:16
Оценка:
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();
        }
    }
Народная мудрось
всем все никому ничего(с).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.