我有兴趣在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中是一样的吗?如果没有,我将如何进行转换?谢谢!
答案 0 :(得分:1)
您可以轻松地自行检查所有有效的。
我不确定您使用的是哪种工具,但如果您setup IronPython和IronPython 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)