IronPython静态程序类可见性

时间:2012-01-05 00:20:06

标签: import ironpython

我是IronPython的新手,但多年来一直使用Python。我继承了一些C#应用程序,并希望通过Python访问它们的一些类。鉴于以下C#:

namespace Updater {
    static class Program {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main() {
            //Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault( false );
            Application.Run( new Form1() );
        }
    }
}

当我在Python中导入时:

>>> clr.AddReferenceToFile('Updater.exe')
>>> import Updater
>>> dir(Updater)
['Form1']

为什么程序不可见?

1 个答案:

答案 0 :(得分:2)

C#中类的默认可见性是internal,因此IronPython不会显示Program类。有关详细信息,请参阅https://stackoverflow.com/a/3763638/129592

您可以通过将类声明更改为

来解决此问题
public static class Program {
    // etc.
}