Was noch ginge wären Generics mit new()-Constraint:
Code:
public abstract Class1
{
public abstract int Test();
public abstract int Test2();
private int DoSomething()
{
Test();
Test2();
...
}
public static int DoSomething<T>() where T: Class1, new()
{
T cl = new T();
cl.DoSomething();
cl.Test();
}
}
Beispiel:
Code:
Class1.DoSomething<Class2>();
In diesem Falle braucht deine Klasse allerdings einen öffentlichen, parameterlosen Konstruktor. Falls dir das nicht zusagt, und Phoes Vorschlag ebenso wenig dein Metier ist, könntest du die Instanzen der Klassen noch per Reflection erstellen... Aber das ist nicht grade sauber