当我为我的服务创建代理时,一些额外的参数被添加为 XmlIgnoreAttribute。例如:
接口方法契约声明:
[OperationContract]
void AddToList(int integerToAdd);
方法实现:
public void AddToList(int integerToAdd) {
intList.Add(integerToAdd);
}
现在,当我动态地为我的服务生成代理时,这个方法实际上是这样的:
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/IService1/AddToList", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public void AddToList(int integerToAdd, [System.Xml.Serialization.XmlIgnoreAttribute()] bool integerToAddSpecified)
{
this.Invoke("AddToList", new object[] {integerToAdd, integerToAddSpecified});
}
如果我有此参数的 ParameterInfo 对象,如何检查此参数是否已标记为 XmlIgnoreAttribute?
如果这不是检查这些自动生成的参数的好方法,那么还有另一种(更好的)方法来检查它们吗?
奖励:是否存在生成非布尔类型并将其标记为 XmlIgnoreAttribute 的情况?