2009-10-17 39 views
-2

我有一个excepction,而试图在Visual Studio 2008序列化一个堆栈,C#3.5问题的XML序列化:必须实现默认访问描述符

下面是一些示例代码。

> 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的异常,这是一个:

德贝implementar EL描述符去 acceso predeterminado烯 System.Collections.Generic.Stack`1 [[BlackJack.CardDN, DN_BlackJack,Version = 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实现 默认访问描述符, 文化=中立,公钥=空] 因为自ICollection。

继承我读过,列出可能是XML序列化,但Dictionarys做不是。我猜Stacks不会。 如何“实现默认访问描述符”?我在谷歌找不到任何东西。 (也许因为我的翻译异常是不一样的)

我真的需要一个堆栈。不想使用列表。

有什么想法? 谢谢

回答

1

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