2017-07-19 13 views
0

コードをWindowsフォームはWindowsフォームの値を別のクラスに取得しますか?

private void button2_Click(object sender, EventArgs e) 
    { 

      CandleCollection collection = GetCandleCollection(); 
      int Dim = int.Parse(txt_agent.Text); 
      int NumParticles = int.Parse(txt_part.Text); 

      SOSManager p = new SOSManager(collection); 

      //this part 
      p.Dim = Dim; 
      p.NumParticles = NumParticles; 

      m_part = new ParticleSwarm(fit,p.Dim, p.NumParticles); 



    } 

だから、私はこのクラスにテキストボックスの上に置く値を追加したいです。

public class SOSManager 
{   
    private ParticleSwarm m_part; 
    public ParticleSwarm BackTestPartReport 
    { 
     get 
     { 
      return m_part; 
     } 
    } 

私は値を追加するには、この

public int Dim; //this part 
    public int NumParticles; 

    public double fit; 

を宣言します。

public SOSManager(CandleCollection collection) 
    { 
     CandleList = collection;    
     Calculate(); 

     m_backTesting = new BackTesting(this); 
     fit = m_backTesting.fitness; 

     //this part 
     m_part = new ParticleSwarm(fit, Dim, NumParticles); 
     m_part.Calculate(Dim,NumParticles); 
     // 

    } 

ここでは、このクラスからのウィンドウから値を取得できません。私は何をすべきか ?

答えて

0

の代わりに手遅れ時にプロパティを設定し、より多くのパラメータを持つコンストラクタに渡す:

SOSManager p = new SOSManager(collection, Dim, NumParticles); 

public SOSManager(CandleCollection collection, int Dim, int NumParticles) 
{ 
    // If you still need to store them as properties: 
    this.Dim = Dim; 
    this.NumParticles = NumParticles; 

次に、このようにそれを呼び出します

関連する問題