C# WebMethod 返回列表<Object>

C# WebMethod retuen List<Object>

我想 return 在我的网络方法中列出,如下所示,

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);

当它 returns myClass 列表时,我没有收到错误。可以 return List of System.Object 或者我必须 return List of myClass 吗?

感谢提前。

您在 class 定义中缺少保留字 'class' 你少了几个';'

  public class myClass
    {
        public int StudetNumber { get; set; }
        public string StudentName { get; set; }
        public decimal average { get; set; }
    }

看来你的问题我明白了。它似乎不兼容 return 网络方法中的泛型类型,例如 "Object" 或 List<Object>,因为在网络方法中,您将有一个 XML 定义(WSDL) 并且无法在该定义中定义泛型类型。所以看起来你需要总是 return 一个定义的 class,在你的情况下 "myClass".

查看以下 post 讨论该主题的地方,这样您会更清楚一些:

How do I return a C# web service that has a generic property?