Tom>Ы? Или я что то не так понял?
Tom>#1
Tom>Tom> class Base<TDerived> where TDerived : new()
Tom> {
Tom> public TDerived NewTDerived()
Tom> {
Tom> return new TDerived();
Tom> }
Tom> }
Tom> class Derived : Base<Derived>
Tom> {
Tom> }
Tom>
Tom>[/c#]
Эээ, если я правильно понял, это не то что мне нужно. Мне нужно создать производный экземпляр из базового так чтобы все его унаследованные поля были заполнены значениями базового экземпляра.
Т.е к примеру
var baseObj = new BaseClass(someXml);
var derivedObj = magicFunction(baseObj); // функция создает производный экземпляр на основе базового
Еще ограничение — доступа к коду базового класса у меня нет.