gpt4 book ai didi

c# - 在链接构造函数时初始化 Dictionary

转载 作者:太空宇宙 更新时间:2023-11-03 19:22:14 25 4
gpt4 key购买 nike

我正在尝试以一种我认为可能不可能的方式设计链接构造函数的系统,但我想先检查一下。

我有 5 个重载构造函数,如下所示:

public SqlCeDB(string filename)
public SqlCeDb(string filename, Dictionary<string, string> options)
public SqlCeDB(string filename, string password)
public SqlCeDB(string filename, string password, Dictionary<string, string> options)
public SqlCeDB(Dictionary<string, string> options)

我想将所有逻辑内置到最后一个构造函数中,并让其他构造函数将控制权传递给它。现在我有一个工作的第一个构造函数如下:

public SqlCeDB(string filename)
: this(new Dictionary<string, string> { { "DataSource", filename } })
{
}

但是有没有办法做到这一点呢?我想如上所述创建一个新词典,但我还需要复制现有词典中已有的选项,称为“选项”。

最佳答案

当然 - 只需调用创建现有副本的构造函数:

public SqlCeDB(string filename, Dictionary<string, string> options)
: this(new Dictionary<string, string>(options) {
{ "DataSource", filename }
})
{
}

集合初始值设定项仍然可以像往常一样调用参数化构造函数。请注意,这会创建一个字典 - 它不会只是将新条目添加到现有字典中。

关于c# - 在链接构造函数时初始化 Dictionary<string, string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11385561/

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