目前,我正在努力用 C# 编写 IronPython 模块。起初我有一些空的部分类,它代表模块基础:
[assembly: PythonModule("demo", typeof(Demo.IronPythonAPI.PythonAPIModule))]
namespace Demo.IronPythonAPI
{
/// <summary>
/// Demo api module root/base
/// </summary>
public static partial class PythonAPIModule
{
}
}
在其他一些文件中,我尝试实现模块:
namespace Demo.IronPythonAPI
{
/// <summary>
/// Python api module path root (~import demo)
/// </summary>
public static partial class PythonAPIModule
{
/// <summary>
/// Python SQL-Module
/// </summary>
[PythonType]
public static class Sql
{
public static int executeNoneQuery(string query, string conName)
{
Console.WriteLine("Hello World");
return 0;
}
}
}
}
如果我现在想使用这个模块,它是行不通的:
import demo
Sql.executeNoneQuery("", "")
这会抛出异常:
name 'Sql' is not defined
使用时
from demo import Sql
Sql.executeNoneQuery("", "")
一切正常。我究竟做错了什么?
非常感谢!
最佳答案
你应该检查 import and from import之间的区别
第一种情况需要Demo.Sql。所以试试 Demo.Sql.executeNoneQuery("", "")
而不是
关于c# - 无法使用 IronPython 导入用 C# 编写的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34434550/