扩展字典并从其他字典创建实例

时间:2014-06-23 09:51:03

标签: c# dictionary

我正在扩展C#Dictionary类:

class Table<TA> : Dictionary<Int, TA> {}

但现在我有一本字典,我想创建一个表格。我试过了:

Dictionary<Int, Int> myDico = ... // somewhere else
Table<Int> myTable = new Table{ myDico };

但是抱怨,

  

“表格不包含接受此参数的构造函数。”

我来自java / scala背景,因为C#没有类型别名,所以我发现我可以使用别名的唯一方法。

1 个答案:

答案 0 :(得分:5)

只需创建一个接受字典的构造函数,并将其传递给基础构造函数:

class Table<TA> : Dictionary<Int, TA>
{
    public Table(IDictionary<Int, TA> dictionary)
        : base(dictionary)
    {
    }
}

像这样使用:

Dictionary<Int, Int> myDico = ... // somewhere else
Table<Int> myTable = new Table(myDico);