2017-08-02 53 views
0

在Windows窗體應用程序,我得到叫如何調用Class = new Class();申報一次?

private Class1 c1; 
    private void Print() 
    { 
      c1 = new Class1(); 
    } 

但在接下來的一個我不想申報新的類,因爲它讓我的程序錯誤的值,並得到錯誤。 它就像

private void Print2() 
    { 
      c1 ; //**(I don't want to declare new one)** 
    } 

編輯2 我想要做像你說的,但在我的代碼的說法是像

public CandleCollection GetCandleCollection() 
    { 
     CandleCollection collection = null; 
     try 
     { 
      collection = SymbolList[cbxSymbol.Text]; 
     } 
     catch (Exception) { } 
     return collection; 
    }  
    private Class1 c1 = new Class1(<collection>); **it's need to call collection** 
    private void Print() 
    { 
      c1 = new Class1(); 
    } 
    private void Print2() 
    { 
      c1 ; //**(I don't want to declare new one)** 
    } 

編輯3 這是我原來的代碼來調用c1

private void Print() 
    { 
     CandleCollection collection = GetCandleCollection(); 
     Class1 c1 = new Class1(collection); 
    } 
+0

'私人Class1的C1 =新的Class1();'? –

+0

你想達到什麼樣的功能?我不完全明白... – Peter

+0

究竟是什麼問題? – Mafii

回答

1

移動您的CandleCollection變量出public方法,所以你也可以將它用於這種方法。

然後,您可以實例化Class1變量只有一次:

private CandleCollection collection = null; 

public CandleCollection GetCandleCollection() 
{ 
    try 
    { 
     collection = SymbolList[cbxSymbol.Text]; 
    } 
    return collection; 
}  
private Class1 c1 = new Class1(collection); 
private void Print() 
{ 
     c1; 
} 
private void Print2() 
{ 
     c1; 
} 
+0

我現在更新了帖子。我想要像你說的那樣做,但我有一個參數問題 –

+0

據說「字段初始值設定項不能引用非靜態字段,方法或屬性」 –

+0

這意味着你的類是靜態的。聲明變量也是靜態的。 –

相關問題