0

アプリケーションに特殊なリストを記述するインターフェースがあります...

Public Interface IAlphabeticListItem

    Property StartingLetter() As String
    Property DetailsList() As Generic.List(Of DetailsData)

End Interface

複数のオブジェクトがこのインターフェイスを実装していますが、それらを基になるオブジェクトとしてではなく、インターフェイスとして Web サービスに返したいと考えています。

<WebMethod()> _
Public Function GetCategoryList(...) As Generic.List(Of IAlphabeticListItem)

    ...

End Function

悲しいことに、これにより例外が発生します

インターフェイス IAlphabeticListItem をシリアル化できません。

例外の詳細: System.NotSupportedException: インターフェイス IAlphabeticListItem をシリアル化できません。

インターフェイスをシリアライズ可能にする方法はありますか?それとも、各オブジェクトをインターフェイスを実装する具体的なクラスに変換してから、そのクラスを返す必要がありますか?

4

2 に答える 2

1

今はテストする時間がありませんが、C# ではインターフェイスを拡張できるので、VB.NET でもそれができると思います。

IAlphabeticListItem を ISerializable に拡張するだけです

于 2009-03-04T12:43:48.450 に答える