Mono 提供C#和#x27;IronPython中的名称空间

Mono 提供C#和#x27;IronPython中的名称空间,mono,ironpython,Mono,Ironpython,我想用IronPython编写Tomboy附加组件,但我还停留在开始阶段——我需要提供C#的名称空间 我的意思是,以下是如何编写Tomboy插件 让我们从创建插件开始 名为InsertDateTime.cs的文件 以下内容: using Tomboy; namespace Tomboy.InsertDateTime { public class InsertDateTimeAddin : NoteAddin { public ov

我想用IronPython编写Tomboy附加组件,但我还停留在开始阶段——我需要提供C#的名称空间

我的意思是,以下是如何编写Tomboy插件

让我们从创建插件开始 名为InsertDateTime.cs的文件 以下内容:

using Tomboy;

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

                public override void Shutdown ()
                {
                }

                public override void OnNoteOpened ()
                {
                }
        }
}

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

您可以从Python导入clr模块,然后调用clr.AddReference('AssemblyName'),其中程序集名称是部分或完整的程序集名称-可能在您的情况下是Tomboy,这是您使用C#编译时所使用的任何名称。然后您可以执行“导入Tomboy”或“从Tomboy导入NoteAddin”


如果您通过托管API托管IronPython,则可以改为执行scriptRuntime.LoadAssembly(typeof(noetadin.Assembly));这样您就不必用Python来完成。这对于根据程序集的加载方式避免各种加载程序上下文问题特别有用。

您所说的“提供C#的命名空间”到底是什么意思?你能进一步澄清吗?卡梅隆,我已经更新了话题。希望对你有帮助)嗯。。。但我并没有真正理解这如何有助于提供名称空间)我的意思是,我需要从IronPython构建一个名为Tomboy.InsertDateTime的名称空间的程序集。我该怎么做?(您所写的是如何使用IronPython中现有的名称空间,但我需要以不同的方式来实现这一点)哦,我明白了。。。IronPython1.x的CodeDom提供程序支持在ASP.NET中执行此操作,但IronPython2.x不支持—这对Python来说没有多大意义。