gpt4 book ai didi

c# - 将类中的值设置为非常量值并使其不可更改

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:35 24 4
gpt4 key购买 nike

我有一个数据库字符串,我想在类中设置一次,然后即使通过类中的方法也无法更改。我试过了

private const string ExampleConString = ConfigurationManager.ConnectionStrings["Example"].ConnectionString;

但这会导致尝试将 const 设置为非常量值时出错。

我能想到的唯一其他解决方案是创建一个包装类并在原始类中实例化它,但这似乎让其他人难以阅读并且可能会占用大量资源。

public class ConnectionStringEncapsulator
{
private string connectionString = ConfigurationManager.ConnectionStrings["Example"].ConnectionString; //global connection string
public string connectionString { get; }
}

public class TradeDB
{
private ConnectionStringEncapsulator TradeDBconnectionString;
public TradeDB()
{
TradeDBconnectionString = new ConnectionStringEncapsulator();
}
}

最佳答案

将其声明为readonly。它只能由字段初始值设定项或在类构造函数中设置。

private readonly string TradeDBconnectionString;

当与 static 结合使用时,字段必须在静态构造函数而不是实例构造函数中设置。两者都有很好的用途。

关于c# - 将类中的值设置为非常量值并使其不可更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39797965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com