让我们看下面的例子:
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
设置。但在这种情况下,属性可以从任何其他地方设置。
因此有任何优雅的方式来定义这样的属性吗?
答案 0 :(得分:3)
将setter设为私有
public string ConnectionString { get; private set; }
这样,财产只能私下设置并公开阅读