Amo*_*n17 10 .net c# conventions
我正在审查另一个开发人员的代码,他已经编写了很多类级变量的代码,类似于以下内容:
/// <summary>
/// how often to check for messages
/// </summary>
private int CheckForMessagesMilliSeconds { get; set; }
/// <summary>
/// application path
/// </summary>
private string AppPath { get; set; }
Run Code Online (Sandbox Code Playgroud)
不这样编码会增加不必要的开销,因为变量是私有的吗?
我不是在考虑私有变量需要这种编码模式的情况吗?
这就像说私有方法没有益处,因为它们增加了不必要的开销,并且没有人在类外面使用它们.
属性为您提供变量与其余代码之间的一个联系点.将来,您可能希望在变量更改时添加错误检查或更新其他值,并且属性将允许您这样做.
将值分配给私有变量(由编译器为您创建)时,私有属性为您提供了抽象级别.这样做的效率并不低,如果您需要更改将来的分配方式,您只需要担心在一个地方更新它.
它还可以在应用程序中提供一致性.如果所有赋值都是通过属性完成的,那么有些可以验证赋值,而有些则不能.对于与财产接口的人,验证的和没有验证的人之间没有区别.(这样有人不会意外地将值赋给不验证的局部变量.)