2009-03-04 115 views
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。

有沒有辦法讓一個接口可序列化,或者我將不得不將每個對象轉換爲一個實現該接口的具體類,然後返回該類?

回答

1

我現在沒有時間測試它,但在C#中可以擴展接口,所以我想你可以在VB.NET中做到這一點。

只是讓IAlphabeticListItem延長ISerializable

+0

要做到這一點就意味着實現GetObjectData使用(BYVAL信息作爲System.Runtime.Serialization.SerializationInfo,BYVAL上下文System.Runtime.Serialization.StreamingContext)在其他每個類中實現System.Runtime.Serialization.ISerializable.GetObjectData! – digiguru 2009-03-04 12:52:08

相關問題