您可以托管IronPython,执行脚本并通过创建的范围访问脚本中定义的功能。
以下示例显示了C#中使用该函数的基本概念和两种方式。
var pySrc =@"def CalcAdd(Numb1, Numb2): return Numb1 + Numb2";// host python and execute scriptvar engine = IronPython.Hosting.Python.CreateEngine();var scope = engine.CreateScope();engine.Execute(pySrc, scope);// get function and dynamically invokevar calcAdd = scope.GetVariable("CalcAdd");var result = calcAdd(34, 8); // returns 42 (Int32)// get function with a strongly typed signaturevar calcAddTyped = scope.GetVariable<Func<decimal, decimal, decimal>>("CalcAdd");var resultTyped = calcAddTyped(5, 7); // returns 12m
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)