Denkt doch nicht so kompliziert! So einfach geht es:
Code:
SocketEx ext = server.Accept() as SocketEx;
if (ext != null) // usw.
Begründung: Accept liefert eine Socket-Instanz. Wenn es sich dabei aufgrund der äußeren Umstände wirklich um eine SocketEx-Instanz handelt, kann es mit
as einfach konvertiert werden. Dies hat außerdem den Vorteil, dass die as-Konvertierung im Fehlerfall
null zurückliefert, ohne dass es zu einer
Exception führt. Dies kann (besser: sollte in der Regel) vor der Fortsetzung geprüft werden.
Das besagte auch die obige Fehlermeldung:
Zitat:
Es ist eine explizite Konvertierung vorhanden. (Fehlt eine Umwandlung?)
nämlich "as" benutzen als explizite Konvertierung.
Gruß Jürgen