【发布时间】:2014-06-20 07:04:29
【问题描述】:
让我们看看下面的例子:
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 设置。但在这种情况下,属性也可以从其他任何地方设置。
那么有什么优雅的方式来定义这样的属性吗?
【问题讨论】:
-
私有只读字符串 connectionString; public string ConnectionString { get { return connectionString;}} 在构造函数中设置 connectionString 字段...
-
我认为 Heinzi 不明白我的问题。我知道私有集的使用。
-
为什么不能使用在构造函数中设置的只读字段并在属性的获取中返回?
-
什么是更好的解决方案?这是高度可读的,它完全符合您的要求。
标签: c# properties readonly