簡體   English   中英

參數對象[type]的類型不是基本類型

[英]The type of the argument object [type] is not primitive

我正在嘗試使用ASP.NET WebServices創建一個簡單的Guestbook Web服務。

嘗試序列化對象列表時,出現以下異常:

System.InvalidOperationException: The type of the argument object 'GuestBookService.GuestBookEntry' is not primitive.

如何解決此錯誤?

如果GuestBookService是一個子類,並且擁有它的屬性是其超類的類型,則必須給Serializer額外的類型,如下所示:

Type[] extraTypes = {typeof(GuestBookService)};
XmlSerializer serializer = new XmlSerializer(typeof(DataContainerClass),extraTypes);

我有相同的確切錯誤,但就我而言,解決方案是不同的。 我的錯誤是我創建了一個返回基類類型的Web方法,並試圖返回派生類。

public BaseClass MyMethod() { /*...*/ }

我嘗試返回BaseClassDerivativeA,BaseClassDerivativeB等。派生類將自己的字段添加到基類的字段中。 我注意到這種意義上的多態似乎不受支持

我將派生類歸納為一個類,因此在返回類型中刪除了這種多態性。 這解決了我的錯誤。

GuestBookEntry是否標記為可序列化? http://ondotnet.com/pub/a/dotnet/2002/08/26/serialization.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM