2010-02-04 73 views
0

我有以下的上课的时候类是序列化Web服务和System.InvalidOperationException在序列化

public class CustomFieldList : CustomField, IList 
    { 
     public CustomFieldList() 
     { 
       this.ControlType = Rflex.Framework.MetaData.ControlType.DDL; 
     } 
     public Type ReferentielType { get; set; } 
     public int? CustomCodeTableTypeID { get; set; } 
     public CustomCodeTableItem Value { get; set; } 
     public override object TheValue { get { return Value; } } 
    } 

它不能序列类型这可能是很正常的事情会抛出一个InvalidOperationException

堆栈(错误译自法文所以这是不准确的):

System.InvalidOperationException:错误在处理XML。 ---> System.InvalidOperationException:无法识别Rflex.WebServices.Objects.Reference.CustomCodeTableItem类型。使用XmlInclude或SoapInclude属性指定类型 àMicrosoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write32_Type(String n,String ns,Type o,Boolean isNullable,Boolean needType) àMicrosoft.Xml.Serialization。 GeneratedAssembly.XmlSerializationWriter1.Write33_CustomFieldList(字符串N,串NS,CustomFieldList O,布尔ISNULLABLE,布尔needType) àMicrosoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write74_JobDescription(字符串N,串NS,JobDescription O,布尔ISNULLABLE,布尔needType) àMicrosoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write77_Offer(String n,String ns,Offer o,Boolean isNullable,Boolean needType) àMicrosoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write96_Offer(Object o) àMicrosoft.Xml.Serialization.GeneratedAssembly.OfferSerializer.Serialize(对象objectToSerialize,XmlSerializationWriter作家) àSystem.Xml.Serialization.XmlSerializer.Serialize(的XmlWriter的XmlWriter,对象o,XmlSerializerNamespaces命名空间,字符串的encodingStyle,字符串ID)

我试着用属性,但它不想工作。

非常感谢。

回答

0

你需要这样的:

[XmlInclude(typeof(Rflex.WebServices.Objects.Reference.CustomCodeTableItem))] 

加入,实际上是从Web服务返回的类型。