internal void WriteItem(NameInfo itemNameInfo, NameInfo typeNameInfo, object value)
{
this.attrList.Clear();
if (itemNameInfo.NItransmitTypeOnMember)
{
this.attrList.Put("xsi:type", this.TypeNameTagResolver(typeNameInfo, true));
}
string str = null;
if (typeNameInfo.NIprimitiveTypeEnum == InternalPrimitiveTypeE.QName)
{
if (value != null)
{
SoapQName name = (SoapQName)value;
if ((name.Key == null) || (name.Key.Length == 0))
{
this.attrList.Put("xmlns", "");
}
else
{
this.attrList.Put("xmlns:" + name.Key, name.Namespace);
}
str = name.ToString();
}
}
else
{
str = Converter.SoapToString(value, typeNameInfo.NIprimitiveTypeEnum);
}
this.NamespaceAttribute();
this.Write(InternalElementTypeE.Member, "item", this.attrList, str, false, typeNameInfo.NIprimitiveTypeEnum == InternalPrimitiveTypeE.Invalid);
}