2012-11-14 107 views
0

這是我的課:如何使用公共屬性設置私人成員的值?

class EmpDetails 
    { 
     private string _EmpName; 
     private int _EmpID; 
     private string _EmpDepartment; 
     private string _EmpPosition; 

     public string EmpName 
     { 
      get 
      { 
       return _EmpName; 
      } 
      set 
      { 
       _EmpName = value; 
      } 
     } 
     public int EmpID 
     { 
      get 
      { 
       return _EmpID; 
      } 
      set 
      { 
       _EmpID = value; 
      } 

     } 
     public string EmpDepartment 
     { 
      get 
      { 
       return _EmpDepartment; 
      } 
      set 
      { 
       _EmpDepartment = value; 
      } 
     } 
     public string EmpPosition 
     { 
      get 
      { 
       return _EmpPosition; 
      } 
      set 
      { 
       _EmpPosition = value; 
      } 
     } 
    } 
} 

以下是我的表格:

public partial class Form1 : Form 

    { 
     EmpDetails d = new EmpDetails(); 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void btnSet_Click(object sender, EventArgs e) 
     { 
      d.EmpName = txtName.Text; 
      d.EmpID = Convert.ToInt32(txtID.Text); 
      d.EmpDepartment = txtDepartment.Text; 
      d.EmpPosition = txtPosition.Text; 
     } 

     private void btnClear_Click(object sender, EventArgs e) 
     { 
      txtName.Clear(); 
      txtID.Clear(); 
      txtDepartment.Clear(); 
      txtPosition.Clear(); 
     } 

     private void btnGet_Click(object sender, EventArgs e) 
     { 
      txtName.Text = d.EmpName; 
      txtID.Text = Convert.ToString(d.EmpID); 
      txtDepartment.Text = d.EmpDepartment; 
      txtPosition.Text = d.EmpPosition; 
     } 
    } 
} 

我在形式上使用文本框設置值,以便值去 到我在課堂上創建的屬性。

我收到錯誤,如:EncapsulationAssignmentCSharp.EmpDetails 不包含GetEmpName的定義,並沒有擴展 方法GetEmpName接受 EncapsulationAssignmentCSharp.EmpDetails類型的第一個參數可以發現(你 缺少using指令或程序集引用?

我猜我必須創建具有參數和 設置使用關鍵字this值的構造函數,但我不知道如何將 值傳遞給構造函數。請幫助我,我不是很好用 編程。

+0

代碼沒問題。聽起來好像有一個缺少使用指令somwewhere,正如錯誤所示。窗體和類是否在同一個命名空間中?這發生了什麼? – Arran

+1

我看不到'GetEmpName'被調用的代碼?你確定,編譯器錯誤是由該代碼產生的嗎? – Jan

+0

這不是家庭作業。我創建了一個項目名稱,這樣我就可以記住了。我的項目文件夾中也有其他項目。 – kittu

回答

1

調試並運行代碼並檢查您的代碼是否正在調用GetEmpName