私は自分のアプリケーションの専門リストを記述するインタフェースを持っている...オブジェクトではなくオブジェクトのインターフェイスの配列を返すことは可能ですか?
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をシリアル化できません。
インターフェイスをシリアライズ可能にする方法はありますか、または各オブジェクトをインターフェイスを実装する具象クラスに変換してからクラスを返す必要がありますか?
を作成する方法に非常に詳細に入ります私の他の各クラスでSystem.Runtime.Serialization.ISerializable.GetObjectDataを実装します! – digiguru
そのクラスを実装しているオブジェクトがすでにISerializableである場合は、問題はありません。一方、そうでない場合は、インターフェイスを実装する必要がありますので、悪化させることはありません。 – rgargente