从IronPython提供C#的命名空间

时间:2011-04-08 09:48:41

标签: mono ironpython

我想使用IronPython编写Tomboy附加组件并且我已经陷入困境并开始 - 我需要提供C#的命名空间。

我的意思是,这里是编写Tomboy附加组件http://live.gnome.org/Tomboy/HowToCreateAddins

的方法
  

让我们从创建插件开始吧   用于调用InsertDateTime.cs的文件   以下内容:

using Tomboy;

namespace Tomboy.InsertDateTime
{
        public class InsertDateTimeAddin : NoteAddin
        {
                public override void Initialize ()
                {
                }

                public override void Shutdown ()
                {
                }

                public override void OnNoteOpened ()
                {
                }
        }
}

我可以用IronPython做到吗?谢谢。

1 个答案:

答案 0 :(得分:0)

从Python你可以导入clr模块,然后调用clr.AddReference('AssemblyName'),其中程序集名称是部分或完整的程序集名称 - 也许在你的情况下它是Tomboy,它是你用C#编译的任何东西。然后你可以做“导入Tomboy”或“从Tomboy导入NoteAddin”。

如果您通过托管API托管IronPython,您可以改为执行scriptRuntime.LoadAssembly(typeof(NoetAddin).Assembly);所以你不必在Python中这样做。这对于避免各种加载器上下文问题特别有用,具体取决于程序集的加载方式。