gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:05:56 27 4
gpt4 key购买 nike

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

有没有办法让它从客户端接受它?表示 它就像基类,只需将其序列化 的属性?

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

或者更简单地说,另一种在客户端覆盖 ToStringDebuggerDisplayAttribute 的方法?

最佳答案

WebServiceDataClass 在生成的文件中声明为部分类(就像大多数生成的类一样)。您可以定义您的 DebuggerDisplayAttributeToString 在同一项目的另一个文件中,如下所示:

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

关于c# - 将派生类作为基类传递给 Web 服务方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15934901/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com