Какой лучший способ (в .NET 4) создать экземпляр типа, определенного во время выполнения.
У меня есть метод экземпляра, который, хотя действие на объект BaseClass может вызываться экземплярами его производных классов. Мне нужно создать другой экземпляр того же типа, что и this внутри метода. Перегрузка метода для каждого производного класса нецелесообразна, так как она достаточно привлекательна и будет более эффективной для обеспечения единственной реализации.
public class BaseClass
{
     //constructors + properties + methods etc
     public SomeMethod()
     {
          //some code
          DerivedClass d = new DerivedClass(); //ideally determine the DerivedClass type at run-time
     }
}
Я немного читал об отражении или использовании ключевого слова dynamic, но у меня нет опыта с ними.