können Sie einem festgelegten .NET-Objekt in IronPython?
Ich bin Schnittstellen mit ein .NET-API in IronPython. Die API ist wieder ein Objekt vom falschen Typ (eine Art von generischen Objekten). Ich vermute, dass das problem nicht zeigen, bis in Ihrem C# - code, weil die Art Erklärung, wenn das Objekt konstruiert wird, zwingt das zurückgegebene Objekt in den korrekten Typ. Ist es möglich, zu festgelegten eine .NET-Objekt in IronPython? Ich denke, das würde den trick tun.
- Könnten Sie das etwas näher? Was meinst du mit falsch geben?
- Es scheint, dass IronPython immer füllt die Mitglieder eines Objekts nach seinen "real" - Typ (da es verwendet reflektion, um zu bestimmen, dass Art). Können Sie uns ein Beispiel geben, wo das nicht stand?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zu zwingen, eine Bekehrung, die Sie tun können:
Dieser wird nach und führen implizite/explizite Konvertierungen, falls einer vorhanden ist.
Hinweis: da IronPython 2.6.
Convert
ruft eine explizite/implizite Konvertierung Methode, wenn es einen gibt, wenn nicht, es gibt das Objekt zurück, unverändert. Es kann nicht z.B. die Besetzung eines Objekts in seinem parent-Typ.Wenn Sie brauchen, um cast numerischen Wert in eine
enum
verwenden Sie die folgenden, da der code oben nicht funktioniert für enums, aber nur für Referenz-Typen:clr.Konvertieren Sie leider nicht in der IronPython-2.0 . Dies ist nicht eine Lösung zu festgelegten eine .NET-Objekt in IronPython?, aber es ist eine Problemumgehung, die Daten zu konvertieren, wenn Sie es wirklich brauchen, es zu benutzen von IronPython
Erstellen Sie eine Klasse, wie dies in VB.NET und kompilieren Sie es in eine DLL
Dann in IronPython Sie
Ich hatte ein ähnliches problem bei einem Projekt vor ein paar Monaten. Das war mein Update:
x
werden kann ein .NET-Typ oder einen Typ, der in eine dll-Datei, die Sie importiert haben mitclr
.Ich bin kein C# Programmierer, aber mir wurde gesagt, dass die von C# - Programmierer-Kollegen, dass dieser code in C# wäre:
Hoffe, das hilft