私人变量访问

时间:2012-12-19 07:20:26

标签: c# private

声明

的用途是什么
private Int64 _ID ;
public Int64 ID{get { return _ID; }set { _ID = value; } };
像这样声明一个私有变量

现在通常在编码中我们直接使用ID,而ID又访问私有的_ID。 这如何提供更多安全性而不是直接声明为

public int64 ID{get;set;}

4 个答案:

答案 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)

您应该阅读PropertiesFields。属性提供更好的封装,应该使用而不是暴露公共字段。

答案 3 :(得分:2)

在设置和获取值之前检查输入或输出时会带来安全性,请查看:

private int? _ID;
public int ID 
{
    get { return _ID ?? 0; }
    set { _ID = value >= 0 ? value : 0; } 
}