The problem here is you can never know the type of DerivedClass
at compile time.
You can however do this type of thing:
BaseClass obj = new DerivedClass();
This is implemented like this:
BaseClass obj = (BaseClass)Activator.CreateInstance(this.GetType());
This call will fail if the DerivedClass has no parameterless constructors though.