只读字段
为了保证对象的字段不嫩改变。
使用readonly修饰符声明。
只能在构造函数中分配值。
可以是类的成员,需要把static修饰符分配给该字段。
例如:
1 /// <summary> 2 /// 获取Web.config配置文件,例如数据库连接字符串等 3 /// 只需要在应用程序启动时获取一次就可以了 4 /// 所以使用静态构造函数 5 /// 最好将字段定义为private,使用属性来访问字段 6 /// </summary> 7 public class ConfigSettings 8 { 9 /// <summary> 10 /// 不一定非得在构造函数中赋值,否则就是字段类型的默认值,例如int则是0,bool则是false... 11 /// </summary> 12 private static string _db; 13 14 public static string Db 15 { 16 get { return _db; } 17 set { _db = value; } 18 } 19 static ConfigSettings() 20 { 21 _db = ConfigurationManager.ConnectionStrings["Db"].ConnectionString; 22 } 23 }
以上代码最终可简化为:
1 /// <summary> 2 /// 最终简化,使用自动属性 3 /// </summary> 4 public class ConfigSettings 5 { 6 public static string Db { get; } 7 static ConfigSettings() 8 { 9 Db = ConfigurationManager.ConnectionStrings["Db"].ConnectionString; 10 } 11 }