使用IronPython无法导入用C#编写的模块

4

目前我在尝试使用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("", "")

这里出现了异常:

名称 'Sql' 未定义

在使用以下代码时:

from demo import Sql
Sql.executeNoneQuery("", "")

一切都正常。我实际上做错了什么?

非常感谢!

1个回答

2

好的,这很有道理。如果IP按照我的预期执行,import Demo 将与 from Demo import * 相同,对吗? - BendEg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接