我正在扩展C#Dictionary类:
class Table<TA> : Dictionary<Int, TA> {}
但现在我有一本字典,我想创建一个表格。我试过了:
Dictionary<Int, Int> myDico = ... // somewhere else
Table<Int> myTable = new Table{ myDico };
但是抱怨,
“表格不包含接受此参数的构造函数。”
我来自java / scala背景,因为C#没有类型别名,所以我发现我可以使用别名的唯一方法。
答案 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);