Python in CSharp
-
Hallo,
wurde gerne in einer Win Form ein Python Script anbieten. Der Nutzer soll ganz normal Python programmieren können und einige CSharp Funktionen von mir aufrufen. Das ganze in einem CSharp Fenster.
-
Ja, das geht, hab ich früher paar mal gemacht.
https://wiki.python.org/moin/IntegratingPythonWithOtherLanguages#C.23.2F.NET
-
Man liest dann das vom Nutzer eingegebene als Text ein und führt es dann als Python aus oder so ähnlich oder ?
-
Versteh ich das richtig dass man vom Python Script nur CSharp Code aufrufen kann der in einer dll wohnt ?
-
Also ich benutz ja jetzt IronPython.
Und da hab ich so eine CSharp Funktion die will eine Liste mit Strings.
Jetzt bekomm ich diese Fehlermeldung.
expected List[str], got list
Was ich in Python übergeb ist folgendes: liste = ["a", "b", "123"]
Leider wird das nur als normale Liste erkannt. Was tun ?????
-
UnwissendGerade schrieb:
Leider wird das nur als normale Liste erkannt. Was tun ?????
C# Wrapper Funktion schreiben die mit den Argumenten die du von Python bekommst klarkommt.
Was das genau für ein Typ ist, musst du in der Python Doku nachgucken.
Bzw. du kannst die Funktion auch einfach malobject
als Parameter nehmen lassen, und dann in der Funktion drinnenparam.GetType().Name
anzeigen (Debug.WriteLine
/...).Oder umgekehrt: Guck was du aus Python heraus machen musst damit auf der C# Seite eine
List<string>
ankommt.