1

ジェネリック リストから継承する基本クラスがあり、派生クラスをリスト エントリのカスタム名でシリアル化する必要がある場合、正しいシリアル化属性を入力したり、基本リストを参照したりするにはどうすればよいですか?

Public MustInherit Class SpecialList(Of T)
   Inherits List(Of T)
   'Other methods here
End Class

Public Class Cache
   Inherits SpecialList(Of CacheEntry)

   <XmlElementAttribute("CustomName")> _
   Public Property Entries() As List(Of CacheEntry)
      Get
         Return ???
      End Get
      Set(value As List(Of CacheEntry))
         ??? = value
      End Set
   End Property
End Class

これは、基本クラスのメソッドをオーバーライドしたり、カスタム シリアル化を記述したり、IXmlSerializable を実装したりしなくても実際に可能ですか?

次のような出力 XML を取得することを期待しています。

<cache>
    <customname></customname>
    <customname></customname>
</cache>
4

1 に答える 1

0

XmlRootAttributeにを追加CacheEntry:

<XmlRootAttribute(ElementName:="customname")>
Public Class CacheEntry

副次的な質問として、( を介して)Cacheから継承する場合、なぜまた であるプロパティがあるのですか? ListSpecialListEntriesList

于 2012-10-24T15:24:35.623 に答える