我是VBA开发人员,是C#的新手 以下是我的员工类:
class Employee
{
public string name;
public Employee()
{
age = 0;
}
public void setName(string newName)
{
name = newName;
}
}
当我创建Employeeclass的对象时,我可以使用提供的方法来设置name的值
Employee E1 = new Employee();
E1.setName("Name 1");
或者我可以直接设置名称。
Employee E1 = new Employee();
E1.name = "Name 1"
重点是如何阻止用户直接设置我的字段的值/不调用我的方法,如果可以请告诉我如何有效地设置我的类字段的值。
答案 0 :(得分:2)
只需使用属性而不是(公共)字段。
public class Employee
{
private string _name;
public string Name
{
get { return _name; }
set
{
// Your setter-code here. Validation and stuff like that
_name = value;
}
}
}
答案 1 :(得分:2)
您想使用公共属性并在下面创建字段private
。你不需要一个单独的setter方法
class Employee
{
private string name;
public Employee()
{
age = 0;
}
public string Name
{
get {return name; }
set { name = value; }
}
}
答案 2 :(得分:-1)
您应该定义私有成员。
class Employee
{
private string name;
public void setName(string newName)
{
name = newName;
}
}
注意:只能在类定义中访问类的私有成员,而可以使用其对象在类外部访问公共成员。
或者,只需使用“属性”,
class Employee
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
使用proerty,您可以将Name设置为,
Employee emp = new Employee();
emp.Name = "suman";