我想通过如下所示的网络方法返回列表,
public List<Object> MyMethod(){
List<Object> list = new List<Object>();
myClass a = new myClass();
list.Add(a);
return list;
}
public class myClass{
public int StudetNumber {get; set;}
public string StudentName {get; set;}
public decimal average {get; set;}
}
但是我得到这个错误: System.InvalidOperationException:不需要myClass。 System.Xml.Serialization.XmlSerializationWriter.WriteTypedPrimitive(字符串名称,字符串ns,对象o,布尔值xsiType);
当它返回myClass列表时,我没有收到错误。可以返回System.Object的列表,还是我必须返回myClass的列表?
感谢前进。
答案 0 :(得分:0)
您在班级定义中缺少保留字“班级” 您缺少一些';'s
public class myClass
{
public int StudetNumber { get; set; }
public string StudentName { get; set; }
public decimal average { get; set; }
}
答案 1 :(得分:0)
看来我现在已经明白了您的问题。在Web方法中返回通用类型(例如“ Object”或List<Object>
)似乎不兼容,因为在Web方法中,您将具有XML定义(WSDL),并且无法定义该定义中的泛型类型。因此,似乎您需要始终返回定义的类,在您的情况下为“ myClass”。
请看以下讨论该主题的帖子,这样对您来说会更加清楚:
How do I return a C# web service that has a generic property?