2012-11-14 105 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