Ein solches Konstrukt gibt es in C# nicht. Habe ich auch schon vergeblich nach gesucht
Es ließe sich aber evtl. durch Generics lösen:
Code:
void foo<T>() where T: BasisKlasse, new()
{
bar = new T();
}
// ...
foo<BasisKlasse>();
foo<AbgeleiteteKlasse>();
Dann muss die übergebene Klasse aber auch einen Konstruktor mit 0 Argumenten besitzen.