2017-05-19 1 views
2

Ich habe eine NET-Bibliothek, die ich aus Python mit PythonNET benutze und kann nicht herausfinden, wie man ein Enum in eine Liste legt. Es scheint, dass Python die Enumeration in eine Ganzzahl konvertiert, die nicht zum List-Datentyp passt. Hier ein Beispiel:Wie setze ich eine Enum in eine Liste, mit PythonNET und C# .NET?

import clr 
from System.Collections.Generic import List 
from System import Array, Enum 
import MyLibrary 

enum = List[MyLibrary.ResultType] #no errors here 
enum.Add(MyLibrary.ResultType.PV) 
#TypeError: No method matches given arguments 

#and just typing MyLibrary.ResultType.PV I get this result 
Out[7]: 0 

Also versuchte ich auch ein Array zu schaffen - es wird auch eine leeren mit dem ENUM-Datentyp erstellen, wird aber nicht zulassen, dass ich einen Wert zuweisen:

Array[MyLibrary.ResultType](MyLibrary.ResultType.PV) 
#TypeError: Cannot convert 0 to MyLibrary.ResultType[] 

Hat jemand eine Lösung für dieses Problem? Bin dankbar.

+0

Bitte fügen Sie keine [gelösten] Geräte zu Titeln, Matt - wir verwenden sie hier nicht. Verwenden Sie stattdessen das Akzeptanzsystem - Danke! – halfer

+1

Entschuldigung, ich hatte auf der PythonNET-Mailingliste gepostet und wollte die Gruppe in der E-Mail sehen, dass sie schon gelöst war. Entfernt. – Matt

Antwort

3

Oh mein Gott Ich kann den Fehler nicht glauben, den ich gemacht habe, aber hier ist es. Ich habe die Liste nicht mit einer Initialisierung erstellt

Jetzt funktioniert es ganz gut.

Verwandte Themen