internal static void ProcessMemberInfoAttribute(MemberInfo memberInfo, SoapAttributeInfo attributeInfo)
{
SoapAttribute attr = (SoapAttribute)
InternalRemotingServices.GetCachedSoapAttribute(memberInfo);
if (attr.Embedded)
attributeInfo.m_attributeType |= SoapAttributeType.Embedded;
// check for attribute and other junk
if (attr is SoapFieldAttribute)
{
SoapFieldAttribute fieldAttr = (SoapFieldAttribute)attr;
if (fieldAttr.UseAttribute)
{
attributeInfo.m_attributeType |= SoapAttributeType.XmlAttribute;
attributeInfo.m_elementName = fieldAttr.XmlElementName;
attributeInfo.m_nameSpace = fieldAttr.XmlNamespace;
}
else
{
if (fieldAttr.IsInteropXmlElement())
{
attributeInfo.m_attributeType |= SoapAttributeType.XmlElement;
attributeInfo.m_elementName = fieldAttr.XmlElementName;
attributeInfo.m_nameSpace = fieldAttr.XmlNamespace;
}
}
}
} // ProcessMemberInfoAttribute