C# 在c中将一种类型转换为另一种类型#

C# 在c中将一种类型转换为另一种类型#,c#,dictionary,C#,Dictionary,我试图在字典中添加值。但我面临着铸造问题。 这里是我的示例代码 public class Column { public string Name { get; set; } } public class Table: Dictionary<string, Column> { } SortedDictionary<string, Table> tableSc = new SortedDictionary<st

我试图在字典中添加值。但我面临着铸造问题。 这里是我的示例代码

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);
                }
公共类列
{
公共字符串名
{
得到;
设置
}
}
公共类表:字典
{
}
SortedDictionary tableSc=新的SortedDictionary();
foreach(item.Tables中的var表)
{
Dictionary col=新字典();
foreach(table.Fields中的var列)
{
列值=新列();
value.Name=column.Id;
col.Add(column.Id,value);
}
表C.Add(表Id,(表)列);
}
在将表类型值添加到
表C
字典中时,我遇到了以下异常

(tablec.Add(table.Id,(table)col);)

无法将“System.Collections.Generic.Dictionary`2[System.String,Column]”类型的对象强制转换为 键入“表格”。


有人能建议我如何解决这个问题吗?

更改声明变量的方式
col

Table col = new Table(); // or another construtor
您的类
继承自
字典
,因此您不能将
字典
的对象强制转换为其子类。

使用:tableSc.Add(Table.Id,Table);如何将列转换为表