2010-09-14 162 views
0

我們可以有一個通用屬性嗎?我有一個存儲數據的要求。所以我已經採用通用屬性的類。當我將數據添加到該屬性時出現錯誤,「對象引用未設置爲實例對象「。請告訴我一些想法。我們可以有genric屬性嗎?

 
class GeneralClass 
    { 
     private List<int> _student_rollnumber; 
     public List<string> _student_name; 
     public List<int> Student_RollNumber 
     { 
      get { return _student_rollnumber; } 
      set { _student_rollnumber = value; } 
     } 
     public List<string> Student_Name 
     { 
      get { return _student_name; } 
      set { _student_name = value; } 
     } 
    } 




我已經使用了按鈕點擊類。

 
private void btn_save_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       GeneralClass obj = new GeneralClass(); 
       obj.Student_RollNumber.Add(int.Parse(txtbx_rollnum.Text)); 
       obj.Student_Name.Add(txtbx_SName.Text); 
       MessageBox.Show("Data saved"); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message, "Message from form"); 
      } 
     }

回答

0

這與泛型沒有任何關係。

你根本沒有初始化的成員變量,即_student_rollnumber_student_name,所以他們null當您嘗試Add值給他們。

+0

你能解釋清楚嗎? –

0

你不是初始化列表,所以它們默認null,這意味着你得到一個NullReferenceException當您嘗試添加到他們在點擊處理方法。

class GeneralClass 
{ 
    // initialise to a new List<int>, otherwise it will default to null 
    private List<int> _student_rollnumber = new List<int>(); 

    // initialise to a new List<string>, otherwise it will default to null 
    private List<string> _student_name = new List<string>(); 

    public List<int> Student_RollNumber 
    { 
     get { return _student_rollnumber; } 
     // chances are that you don't need the setter, uncomment it if you do 
     //set { _student_rollnumber = value; } 
    } 

    public List<string> Student_Name 
    { 
     get { return _student_name; } 
     // chances are that you don't need the setter, uncomment it if you do 
     //set { _student_name = value; } 
    } 
} 
+0

你能解釋清楚嗎? –

+0

謝謝你一個和所有 –

0
class GeneralClass 
    { 
     public GeneralClass 
     { 
      _student_rollnumber = new List<int>(); 
      _student_name = new List<string>(); 
     } 

     private List<int> _student_rollnumber; 
     public List<string> _student_name; 
     public List<int> Student_RollNumber 
     { 
      get { return _student_rollnumber; } 
      set { _student_rollnumber = value; } 
     } 
     public List<string> Student_Name 
     { 
      get { return _student_name; } 
      set { _student_name = value; } 
     } 
    } 
相關問題