我有一个从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
{
}