Iron Python如何使用C#类播放(平均或不错)?

时间:2013-11-04 01:16:38

标签: c# integration ironpython

我有兴趣在IronPython的C#程序中编写一些例程。我很关心整合。我有一个简单的课程:

  public class candleStim
  {
    public virtual int       Id            { get; set; }
    public virtual int       candleNumber  { get; set; } 
    public virtual DateTime  date          { get; set; }
    public virtual decimal   open          { get; set; }
    public virtual decimal   high          { get; set; }
    public virtual decimal   low           { get; set; }
    public virtual decimal   close         { get; set; }
    public virtual List<EMA> EMAs          { get; set; } 
    public virtual List<SMA> SMAs          { get; set; }
    public virtual string    simulationID  { get; set; }
   } 

用IronPython编写的方法会理解这个类吗?简单的字符串对象怎么样,它们在C#和IronPython中是一样的吗?如果没有,我将如何进行转换?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以轻松地自行检查所有有效的

我不确定您使用的是哪种工具,但如果您setup IronPythonIronPython Tools for VisualStudion,则可以进行多少实验。

下面的示例只是一些自动生成的IronPython Winforms项目代码,其中包含对您的类的引用,该类构建为标准ClassLibrary C#项目。 (您必须复制构建到IronPython项目目录的程序集。)

我唯一不确定的是EMA / SMA - 如果你希望那些是从某些库中导入的某些'标准'Python类,或者只是你自己的一些自定义内容。

import clr
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')

### importing our assembly
clr.AddReference('ClassLibrary1ForPython')

from System.Drawing import *
from System.Windows.Forms import *

from ClassLibrary1ForPython import *

class MyForm(Form):
    def __init__(self):
        # Create child controls and initialize form
        pass

### your class instantiating
classInstance = candleStim()


Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(False)

form = MyForm()
### setting the window title from the value of a property of your class (standard string)
form.Text = classInstance.simulationID

Application.Run(form)