System.Runtime.Serialization.Formatters.Soap.SoapWriter.WriteItem C# (CSharp) Method

WriteItem() private method

private WriteItem ( NameInfo itemNameInfo, NameInfo typeNameInfo, Object value ) : void
itemNameInfo NameInfo
typeNameInfo NameInfo
value Object
return void
		internal void WriteItem(NameInfo itemNameInfo, NameInfo typeNameInfo, Object value)
		{
			itemNameInfo.Dump("WriteItem itemNameInfo");												
			typeNameInfo.Dump("WriteItem typeNameInfo");

			attrList.Clear();
			if (itemNameInfo.NItransmitTypeOnMember)
			{
				attrList.Put("xsi:type", TypeNameTagResolver(typeNameInfo, true));
			}

            String stringValue = null;

            if (typeNameInfo.NIprimitiveTypeEnum == InternalPrimitiveTypeE.QName)
            {
                if (value != null)
                {
                    SoapQName soapQName = (SoapQName)value;
                    if (soapQName.Key == null || soapQName.Key.Length == 0)
                        attrList.Put("xmlns", "");
                    else
                        attrList.Put("xmlns:"+soapQName.Key, soapQName.Namespace);

                    stringValue = soapQName.ToString();
                }
            }
            else
                stringValue = Converter.SoapToString(value, typeNameInfo.NIprimitiveTypeEnum);


            NamespaceAttribute();
			Write(InternalElementTypeE.Member, "item", attrList, stringValue, false, (typeNameInfo.NIprimitiveTypeEnum == InternalPrimitiveTypeE.Invalid));
		}