2015-12-23 48 views
4

目前我很努力編寫C#中的IronPython模塊。起初我有一些空的部分類,它代表該模塊基礎:無法導入用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("", "") 

一切工作只是罰款沒有定義

。我做錯了什麼?

非常感謝!

回答

2

您應該檢查import and from import

Demo.Sql需要在第一種情況之間的差異。所以嘗試Demo.Sql.executeNoneQuery("", "")而不是

+0

好吧,這是有道理的。如果IP按照我的預期來做,'import Demo'將與'Demo import *'中的'相同,或者不是? – BendEg