2017-07-19 28 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

而不是設置屬性的時候,爲時已晚,他們通過與多個參數的構造函數:

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

然後調用它像這樣:

SOSManager p = new SOSManager(collection, Dim, NumParticles); 
相關問題