2010-07-06 63 views
0

****正下方是我的WinForm的客戶研究院與類中的一個參數的構造函數。****問題的構造

private void button1_Click(object sender, EventArgs e) 
    { 

     string s1 = textBox1.Text; 
     int x1 = Convert.ToInt32(s1); 
     int X= x1;   
     ExternalTest ob = new ExternalTest(X);     
     string s2 = Convert.ToString(ob.Y);    
     ob.Y = 0; 
     textBox2.Text = s2; 

而下面這個是我的課,我添加到項目中 下面的代碼是程序集中的一個附加類。如果我試圖讓它成爲一個類庫,並添加addreference - 它不會生成。

class ExternalTest  
{  
      private int _x; 
     //  protected new int x 
     //  { 
     //  get { return _x; } 
     //  set {_x = value ;} 
     //  } 
      private int y; 
      public int Y 
      {     
       get {return y = Mult(_x); } 
       set { } 
      }   
       internal int Mult(int _x) 
       {      
       y = _x + 51; 
       return y;   
       }  

      public ExternalTest(int X) 
      { 
       _x = X;    

      }    

     } 
} 
+1

你有什麼錯誤? – 2010-07-06 18:57:08

+1

這應該是你的原始問題(http://stackoverflow.com/questions/3189139/class-library-in-c/3189178#3189178)的延續,而不是一個新的問題。 – DarLom 2010-07-06 18:58:41

+0

@clalbert:請花時間閱讀[常見問題](http://stackoverflow.com/faq)。你可能學會不發佈重複的問題,而是在原始問題中保留關於你的問題的所有信息。 – 2010-07-06 19:13:56

回答

1

默認情況下,您的班級不是public。當您在外部庫中使用該類時,必須將public添加到類的定義中,否則WinForms客戶端將無法看到它。

EG:

public class ExternalObj 
{ 
    // ... 
} 

基於這樣的事實,你得到一個編譯錯誤,只有當這個類是在外部庫中,已經需要我的時候我忘了添加public了無數次我自己,我認爲這可能是問題。