c# – 将派生类传递给Web服务方法,作为基类

我有一个从Web服务导入的C#类.由于调试问题和数组,我需要这个类有一个ToString()重写或DebuggerDisplayAttribute,我发现的唯一方法是将前者添加到派生类:

class ExtWebServiceDataClass: WebServiceDataClass
{
    public override string ToString()
    {
        return String.Format("stuff");
    }
}

遗憾的是,webservice方法需要一组基础对象,并且不接受派生对象数组(XML序列化错误):

System.InvalidOperationException: Error generating the XML document.

→ System.InvalidOprrationException: The type ExtWebServiceDataClass was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically.

有没有办法让它从客户端接受它?一个属性说它就像基类一样,只是序列化它?

或者从派生类到基类的大规模转换的简单方法?

或者更简单地说,在客户端使用ToString覆盖或DebuggerDisplayAttribute的另一种方法是什么?

最佳答案 WebServiceDataClass在生成的文件中声明为部分类(与大多数生成的类一样).您可以在同一项目中的另一个文件中定义
DebuggerDisplayAttribute或ToString,如下所示:

[DebuggerDisplay("MyString")]
public partial class WebServiceDataClass
{
}
点赞