using System;using Python.Runtime;namespace Python.Test{/// <summary>/// Supports CLR threading / reentrant unit tests./// </summary>public class ThreadTest{private static PyObject module;private static string testmod ="import clr\n" +"from Python.Test import ThreadTest\n" +"\n" +"def echostring(value):\n" +" return value\n" +"\n" +"def echostring2(value):\n" +" return ThreadTest.CallEchoString(value)\n" +"\n";/// <summary>/// This method calls back into the CPython runtime - tests/// call this from Python to check that we don't hang on/// nested transitions from managed to Python code and back./// </summary>public static string CallEchoString(string arg){using (Py.GIL()){if (module == null){module = PyModule.FromString("tt", testmod);}PyObject func = module.GetAttr("echostring");var parg = new PyString(arg);PyObject temp = func.Invoke(parg);var result = (string)temp.AsManagedObject(typeof(string));func.Dispose();parg.Dispose();temp.Dispose();return result;}}public static string CallEchoString2(string arg){using (Py.GIL()){if (module == null){module = PyModule.FromString("tt", testmod);}PyObject func = module.GetAttr("echostring2");var parg = new PyString(arg);PyObject temp = func.Invoke(parg);var result = (string)temp.AsManagedObject(typeof(string));func.Dispose();parg.Dispose();temp.Dispose();return result;}}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。