C#コードからPython関数を呼び出したいと思います。どのようにすることができ、C#コードからpython.netを使って名前付きパラメータを持つpython関数を呼び出します。
def analyze(source, printout = False, raw = True):
# removed for bravity
そこで質問です:これを行うには、私は次のコード行に示すように、.NETが
using System;
using Python.Runtime;
public class Test{
public static void Main(){
using(Py.GIL()){
dynamic lb = Py.Import("lb");
dynamic result = lb.analyze("SomeValue");
Console.WriteLine(result);
}
}
}
Pythonの関数は次のようなものである関数を呼び出すためのPythonを使用しました私はFalse
に "生"を設定します。私はC#コードからanalyze関数を呼び出します。私は以下を試みたが、うまくいかなかった。
1. dynamic result = lb.analyze("SomeSource", raw : false); // No result
2. dynamic result = lb.analyze("SomeSource", @"raw = False"); // No result
私はこれを行うことによって行うことは容易である知っている:
dynamic result = lb.analyze("SomeSource", False, False);
しかし、何より6つのまたは7というパラメータがある場合、手動ですべてを挿入するために素晴らしいことと変わりません私が望むものたとえば、私が使用しているPythonライブラリには、既定値を持たない12個の名前付きパラメータがあります。私も試してみました を更新し
:
3. dynamic result = lb.analyze("SomeSource", raw = false); // C# compilation error
私は間違っていない場合は、構文は '持っ生= false'を、代わりにセミコロンの等しい演算子、する必要がありますあなたはそれを試みた? '動的結果= lb.analyze(" SomeSource "、生= false);' – ironstone13
@ ironstone13はい、私はしましたが、C#コンパイラは私にコンパイルエラーを示しました。 – ash