System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadMemberPrimitiveTyped C# (CSharp) Method

ReadMemberPrimitiveTyped() private method

private ReadMemberPrimitiveTyped ( ) : void
return void
		private void ReadMemberPrimitiveTyped()
		{
			SerTrace.Log( this, "ReadObjectPrimitive");

			if (memberPrimitiveTyped == null)
				memberPrimitiveTyped = new MemberPrimitiveTyped();

			memberPrimitiveTyped.Read(this);
			memberPrimitiveTyped.Dump();

			prs.PRobjectTypeEnum = InternalObjectTypeE.Object; //Get rid of 
			ObjectProgress objectOp = (ObjectProgress)stack.Peek();

			prs.Init();
			prs.PRvarValue = memberPrimitiveTyped.value;
			prs.PRkeyDt = Converter.ToComType(memberPrimitiveTyped.primitiveTypeEnum);
			prs.PRdtType = Converter.ToType(memberPrimitiveTyped.primitiveTypeEnum);
			prs.PRdtTypeCode = memberPrimitiveTyped.primitiveTypeEnum;

			if (objectOp == null)
			{
				// Top level boxed primitive
				SerTrace.Log( this, "ReadObjectPrimitive, Non-Nested");         
				prs.PRparseTypeEnum = InternalParseTypeE.Object;
				prs.PRname = "System.Variant";
			}
			else
			{
				// Nested in an Object
				SerTrace.Log( this, "ReadObjectPrimitive, Nested");

				prs.PRparseTypeEnum = InternalParseTypeE.Member;
				prs.PRmemberValueEnum = InternalMemberValueE.InlineValue;

				switch (objectOp.objectTypeEnum)
				{
				case InternalObjectTypeE.Object:
					prs.PRname = objectOp.name;
					prs.PRmemberTypeEnum = InternalMemberTypeE.Field;
					break;
				case InternalObjectTypeE.Array:
					prs.PRmemberTypeEnum = InternalMemberTypeE.Item;
					break;
				default:
					throw new SerializationException(String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("Serialization_ObjectTypeEnum"),((Enum)objectOp.objectTypeEnum).ToString()));                                              
				}
			}

			objectReader.Parse(prs);
		}