在尝试在Visual Studio 2008中序列化堆栈时,我有一个例外,C#3.5
以下是一些示例代码。
> 1 CardDN kk = new CardDN(12, CardDN.SuitType.Clubs);
> 2 Stack<CardDN> kk1 = new Stack<CardDN>();
> 3 kk1.Push(kk);
> 4
> 5 XmlSerializer serializerk = new XmlSerializer(kk1.GetType());
> 6 StringWriter auxSerializedk = new StringWriter();
> 7 serializerk.Serialize(auxSerializedk, kk1);
第5行失败。例外情况是这样的:
Debe implementar el descriptor de acceso predeterminado en System.Collections.Generic.Stack`1 [BlackJack.CardDN, DN_BlackJack,版本= 1.0.0.0, Culture = neutral,PublicKeyToken = null]] porque hereda de ICollection。
在英语中就像是:
“必须实施 默认访问描述符 System.Collections.Generic.Stack`1 [BlackJack.CardDN, DN_BlackJack,版本= 1.0.0.0, Culture = neutral,PublicKeyToken = null]] 因为继承自ICollection。
我读过LIST可能是XML序列化的,但Dictionarys却没有。我猜Stacks没有。 我怎样才能“实现默认访问描述符”?我在谷歌找不到任何东西。 (也许是因为我对异常的翻译不一样了)
我真的需要一个Stack。不想使用List。
有什么想法吗? 感谢