Ich möchte C# Aussagewie „var f = userstate als Störung“ von C# konvertieren Ironpython
var f = userState as Fault
auf Ironpython-Anweisung
Ich möchte C# Aussagewie „var f = userstate als Störung“ von C# konvertieren Ironpython
var f = userState as Fault
auf Ironpython-Anweisung
Es gibt zwei Teile dieses konvertieren.
Wenn Sie nur versuchen, userState auf einen Fehler zu transformieren, müssen Sie nichts tun, da Python nur schwach typisiert ist.
Wenn Sie zu bestimmen versuchen, wenn userstate vom Typ Fehler ist dann versuchen, diesen
from System import *
if userState.GetType() == Type.GetType(Fault):
...
Ohne die nächste Zeile zu sehen, ist es schwer zu wissen, was Ihre Absicht ist.
Wenn Sie downcasting sind (sagen wir von object
bis Fault
) - müssen Sie nicht! In IronPython-Membern werden zur Laufzeit nachgeschlagen. Wenn also userState
bereits eine Fault
ist, können Sie sie als eine ohne Casting behandeln.
Wenn Sie versuchen, eine explizite/implizite Konvertierung auszulösen, use clr.Convert
. Wenn Sie prüfen, ob userState
ein Fault
ist, verwenden Sie isinstance(userState, Fault)
.
Nicht schwach typisiert, dynamisch typisiert. Schwaches Tippen ist ein schreckliches Konzept, das nur in schrecklichen Skriptsprachen existieren sollte. – leppie