声明
的用途是什么private Int64 _ID ;
public Int64 ID{get { return _ID; }set { _ID = value; } };
像这样声明一个私有变量
现在通常在编码中我们直接使用ID,而ID又访问私有的_ID。 这如何提供更多安全性而不是直接声明为
public int64 ID{get;set;}
答案 0 :(得分:4)
最好的两个:
public long ID {get;set;}
不是那么容易吗?
您不应将字段公开为public
,但这并不意味着您也需要冗长。
答案 1 :(得分:3)
您可以通过get和set方法获取benefit
封装,以便调用custom logic
。私有_ID
是一个占位符,用于保存属性的数据,当某个正文写入protected
时,通过set方法保存_id
,类似地,您可以在给出值之前放置自定义逻辑get
。
msdn
解释了属性“属性结合了字段和方法的各个方面。对于对象的用户,属性似乎是一个字段,访问该属性需要相同的语法。对于类的实现者,属性是一个或两个代码块,表示get访问器和/或set访问器。读取属性时执行get访问器的代码块; set访问器的代码块是在为属性分配新值时执行。没有set访问器的属性被认为是只读的。没有get访问器的属性被认为是只写的。具有两个访问器的属性是读写“。您可以通过here了解更多信息。
答案 2 :(得分:2)
您应该阅读Properties
和Fields
。属性提供更好的封装,应该使用而不是暴露公共字段。
答案 3 :(得分:2)
在设置和获取值之前检查输入或输出时会带来安全性,请查看:
private int? _ID;
public int ID
{
get { return _ID ?? 0; }
set { _ID = value >= 0 ? value : 0; }
}