如何解决如何控制 C# SOAP Proxy (xsd.exe)
我在 C# 应用程序 (.NET Framework 4.8) 中使用 SOAP Web 服务,该应用程序使用通过服务的 XSD 中的 xsd.exe 生成的代理。
在 XSD 中有一个需要货币金额的字段,其定义如下:
<xs:simpleType name="HHAmountType">
<xs:restriction base="xs:decimal">
<xs:pattern value="(\+|\-)?\d{1,7}\.\d\d"/>
</xs:restriction>
</xs:simpleType>
如果我提供诸如“0”之类的值,该服务会抛出异常。从查看该 XML 模式来看,它看起来应该是“0.00”,并且与描述该字段的其他一些文档相匹配。我无法解决的是如何处理生成的类,以允许我始终以 2 个小数位输出该数字。该类提供了一个小数属性,我将其设置为一个值(在本例中为 0),目前没有添加其他属性。
/// <remarks/>
public decimal Amount {
get {
return this.amountField;
}
set {
this.amountField = value;
}
}
任何人都可以引导我朝着允许我这样做的任何属性等方向发展,还是我需要将其更改为字符串属性并自己处理该格式或其他什么?
解决方法
尝试以下操作:
private decimal _amountField { get; set; }
public string Amount
{
get
{
return this._amountField.ToString("D2");
}
set
{
this._amountField = decimal.Parse(value);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。