XML序列化问题:必须实现默认访问描述符

时间:2009-10-17 15:27:21

标签: c#-3.0 xml-serialization

在尝试在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。

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:1)

如此处所述:palehorse's answer,堆栈未实现所需的默认访问器。为了澄清,你应该检查苍白马,因为他也回答了我的问题。