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

自分でどのように機能するかを簡単に確認できます。

どのツールを使用しているかはわかりませんが、IronPythonとIronPython Tools for VisualStudioをセットアップすると、さまざまな実験を行うことができます。

以下のサンプルは、クラスへの参照を含む自動生成された IronPython Winforms プロジェクト コードの一部であり、標準の ClassLibrary C# projectとしてビルドされます。(ただし、ビルドされたアセンブリを 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 に答える