你需要一个只读的 属性 和一个构造函数来让你在 属性 中设置值的目的是什么?
What do you need a read-only property with a constructor that let's you set the values in that property for?
只读 属性 如何使用允许您设置值的构造函数:
public class Customer
{
private int m_id = -1;
public Customer(int id)
{
m_id = id;
}
public int ID
{
get
{
return m_id;
}
}
}
与正常的 get、set 属性 不同?
public class Customer
{
private int m_id = -1;
public int ID
{
get
{
return m_id;
}
set
{
m_id = value;
}
}
read-only property
不允许程序内的其他类设置property
值。传统的 property
会。
在这种情况下,class
迫使程序员在构造函数中提供 int
ID
。拥有 public property
几乎可以否定此要求,因为程序员可以随时更改 ID
的值。
可以使用 readonly 关键字声明在对象构造函数中设置的成员变量。这允许变量充当常量(例如,尝试更改它会产生编译时错误)但仍然允许您为每个对象实例将其设置为不同的值。这是一个语法糖,可以帮助防止您的编码人员意外修改不应该修改的值。
只读 属性 如何使用允许您设置值的构造函数:
public class Customer
{
private int m_id = -1;
public Customer(int id)
{
m_id = id;
}
public int ID
{
get
{
return m_id;
}
}
}
与正常的 get、set 属性 不同?
public class Customer
{
private int m_id = -1;
public int ID
{
get
{
return m_id;
}
set
{
m_id = value;
}
}
read-only property
不允许程序内的其他类设置property
值。传统的 property
会。
在这种情况下,class
迫使程序员在构造函数中提供 int
ID
。拥有 public property
几乎可以否定此要求,因为程序员可以随时更改 ID
的值。
可以使用 readonly 关键字声明在对象构造函数中设置的成员变量。这允许变量充当常量(例如,尝试更改它会产生编译时错误)但仍然允许您为每个对象实例将其设置为不同的值。这是一个语法糖,可以帮助防止您的编码人员意外修改不应该修改的值。