0
IronPythonクラスを反映させてCのメソッドを見つける方法はありますか?私はRubyClassとRubyMethodInfoによってIronRubyのためにこれを行うことができます。 IronPythonにも同様のクラスがありますか?ありがとう。C#からIronPythonクラスのメソッドを見つける
IronPythonクラスを反映させてCのメソッドを見つける方法はありますか?私はRubyClassとRubyMethodInfoによってIronRubyのためにこれを行うことができます。 IronPythonにも同様のクラスがありますか?ありがとう。C#からIronPythonクラスのメソッドを見つける
は、.NET 4以降を使用している場合、あなただけのpythonはあなたのためにそれをやらせるならば、これは簡単です:
static void Main(string[] args)
{
var script = @"
class TestObject:
def Member1(self):
pass
";
var setup = new ScriptRuntimeSetup();
setup.LanguageSetups.Add(Python.CreateLanguageSetup(null));
var runtime = new ScriptRuntime(setup);
var engine = runtime.GetEngineByTypeName(typeof(PythonContext).AssemblyQualifiedName);
var scope = engine.CreateScope();
engine.Execute(script, scope);
foreach (var member in GetMembers(engine, ((dynamic)scope).TestObject))
{
Console.WriteLine(member);
}
Console.ReadKey();
}
インデントを修正するためのサンプルスクリプトのコメントブロックを調整することを確認します。
それからちょうど任意のオブジェクト(PythonやC#の)
static dynamic GetMembers(ScriptEngine engine, dynamic obj)
{
var scope = engine.CreateScope();
scope.SetVariable("objectToInspect", obj);
return engine.Execute("def i(obj): l = dir(obj); l.sort(); return l;\ni(objectToInspect)", scope);
}
この印刷物のためにあなたのための検査を行うことができます方法作成:
Member1
__doc__
__module__
を