Ich habe eine Liste von Objekten verschiedener Typen, die ich je nach Typ mit verschiedenen Sachen machen muss. Insbesondere teilen zwei der Typen eine Methode, die ich für beide verwenden möchte. Was ich zur Zeit versucht, ist dies:Dynamisch Objekt mit Reflektion konvertieren
if (foo is Type01 || foo is Type02) {
Type tempType = foo.GetType();
outList.Add((foo as tempType).ToOutType());
return outList;
}
Dies ist jedoch nicht funktioniert, da der Compiler anscheinend nicht der Typ dynamisch verwenden können. Gibt es eine Möglichkeit, dies zu erreichen, oder muss ich die beiden Optionen in verschiedene if-Klauseln einfügen?
Try-Aktivator verwenden – icbytes
Hat das Verfahren auf beiden Arten das gleiche tun? Können Sie die Typen von einer gemeinsamen Basis ableiten, die diese Methode hat (zumindest als virtuelle Methode)? Oder stelle die Methode in eine Schnittstelle, die beide Klassen implementieren? – ChrisF