如何使类属性只读

本文关键字:只读 属性 何使类 | 更新日期: 2023-09-27 18:09:25

让我们看看下面的例子:

public Data()
{
   ConnectionString = DefaultConnectionString;
}
public Data(string connectionString)
{
   ConnectionString = connectionString;
}
public string DefaultConnectionString
{
   get
   {
       return System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnectionString"].ConnectionString;
   }
}
public string ConnectionString { get; set; }

在这里我有类处理sql连接和操作的基础上的连接字符串或默认的连接字符串。而ConnectionString属性,逻辑上我用它作为readonly,也就是只从constructor中集合。但在这种情况下,属性也可以从任何地方设置。
有什么优雅的方法来定义这样的属性吗?

如何使类属性只读

设置为私有

public string ConnectionString { get; private set; }

这样属性就只能私下设置和公开读取