System.Runtime.Serialization.Formatters.Soap.SoapWriter.WriteHeaderEntry C# (CSharp) Метод

WriteHeaderEntry() приватный Метод

private WriteHeaderEntry ( NameInfo nameInfo, NameInfo typeNameInfo, Object value ) : void
nameInfo NameInfo
typeNameInfo NameInfo
value Object
Результат void
		internal void WriteHeaderEntry(NameInfo nameInfo, NameInfo typeNameInfo, Object value)				
		{
			nameInfo.Dump("WriteHeaderEntry nameInfo");
			if (typeNameInfo != null)
			{
				typeNameInfo.Dump("WriteHeaderEntry typeNameInfo");
			}

			attrList.Clear();
			if (value == null)
				attrList.Put("xsi:null", "1");							
			else
				attrList.Put("xsi:type", TypeNameTagResolver(typeNameInfo, true));
			if (nameInfo.NIisMustUnderstand)
			{
				attrList.Put("SOAP-ENV:mustUnderstand", "1");
				isUsedEnc = true;
			}

            attrList.Put("xmlns:"+nameInfo.NIheaderPrefix, nameInfo.NInamespace);
			attrList.Put("SOAP-ENC:root", "1");
			String stringValue = null;

            if (value != null)
            {
                if (typeNameInfo != null && typeNameInfo.NIprimitiveTypeEnum == InternalPrimitiveTypeE.QName)
                {
                    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, nameInfo.NIheaderPrefix+":"+nameInfo.NIname, attrList, stringValue, true, true);
		}