2017-05-19 25 views
2

私はPythonNETでPythonから使用しているNETライブラリを持っており、リストに列挙型を入れる方法を見つけることができません。 Pythonは列挙型をListデータ型に合わない整数に変換するようです。ここでは例です:PythonNETと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 

だから私はまた、配列を作成しようとした - それはまた、列挙型のデータ型を持つ空のものを作成しますが、私はそれに値を割り当てることができません。

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

誰もがこの問題を解決していますか?感謝します。

+0

タイトルに[解決済み]デバイスを追加しないでください。Matt - ここでは使用しません。代わりに受け入れシステムを使用してください - ありがとう! – halfer

+1

申し訳ありませんが、私はPythonNETのメーリングリストに投稿しており、すでに解決済みであることをメールで確認するようにしました。削除されました。 – Matt

答えて

3

ああ私の神私は間違いを信じることができませんが、ここにはあります。私は初期化でリストを作成していませんでした

enum = List[MyLibrary.ResultType]() #the missing() was the reason this didn't work! 
enum.Add(MyLibrary.ResultType.PV) 

これでうまくいきました。

関連する問題