Beispiel #1
0
        public static SByte?UnpackNullableSByteValue(Unpacker unpacker, Type objectType, String memberName)
        {
            try
            {
                SByte?result;
                if (!unpacker.ReadNullableSByte(out result))
                {
                    throw SerializationExceptions.NewFailedToDeserializeMember(objectType, memberName, null);
                }

                return(result);
            }
            catch (MessageTypeException ex)
            {
                throw SerializationExceptions.NewFailedToDeserializeMember(objectType, memberName, ex);
            }
        }
		public static SByte? UnpackNullableSByteValue( Unpacker unpacker, Type objectType, String memberName )
		{
			try
			{
				SByte? result;
				if ( !unpacker.ReadNullableSByte( out result ) )
				{
					throw SerializationExceptions.NewFailedToDeserializeMember( objectType, memberName, null );
				}

				return result;
			}
			catch ( MessageTypeException ex )
			{
				throw SerializationExceptions.NewFailedToDeserializeMember( objectType, memberName, ex );
			}
		}
		public static SByte? UnpackNullableSByteValue( Unpacker unpacker, Type objectType, String memberName )
		{
			if ( unpacker == null )
			{
				SerializationExceptions.ThrowArgumentNullException( "unpacker" );
			}

			if ( objectType == null )
			{
				SerializationExceptions.ThrowArgumentNullException( "objectType" );
			}

			if ( memberName == null )
			{
				SerializationExceptions.ThrowArgumentNullException( "memberName" );
			}

#if ASSERT
			Contract.Assert( unpacker != null );
			Contract.Assert( objectType != null );
			Contract.Assert( memberName != null );
#endif // ASSERT

			// ReSharper disable once RedundantAssignment
			var ctx = default( UnpackerTraceContext );
			InitializeUnpackerTrace( unpacker, ref ctx );

			try
			{
				SByte? result;
				if ( !unpacker.ReadNullableSByte( out result ) )
				{
					SerializationExceptions.ThrowFailedToDeserializeMember( objectType, memberName, null );
				}

				Trace( ctx, "ReadDirect", unpacker, memberName );

				return result;
			}
			catch ( MessageTypeException ex )
			{
				SerializationExceptions.ThrowFailedToDeserializeMember( objectType, memberName, ex );
				return default( SByte? ); // never reaches.
			}
		}