我尝试将值添加到字典中。但我遇到了铸造问题。 这是我的示例代码。
public class Column
{
public string Name
{
get;
set;
}
}
public class Table: Dictionary<string, Column>
{
}
SortedDictionary<string, Table> tableSc = new SortedDictionary<string, Table>();
foreach (var table in item.Tables)
{
Dictionary<string, Column> col = new Dictionary<string, Column>();
foreach (var column in table.Fields)
{
Column value = new Column();
value.Name = column.Id;
col.Add(column.Id, value);
}
tableSc.Add(table.Id, (Table)col);
}
将表类型值添加到tableSc
字典时,我遇到了以下异常。
(tableSc.Add(table.Id, (Table)col);)
无法将'System.Collections.Generic.Dictionary`2 [System.String,Column]'类型的对象强制转换为 输入'表'。
有谁能建议我如何解决这个问题?
答案 0 :(得分:1)
更改声明变量col
Table col = new Table(); // or another construtor
您的班级Table
继承自Dictionary
,因此您无法将Dictionary
的对象投射到其子级别。