2

我有兴趣在 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 中是一样的吗?如果没有,我将如何进行转换?谢谢!

4

1 回答 1

1

你可以很容易地检查你自己的工作有多好

我不确定您使用的是什么工具,但是如果您为 VisualStudion设置 IronPython和IronPython 工具,您可以进行很多试验。

下面的示例只是一些自动生成的 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)
于 2013-11-04T02:19:45.640 回答