public void WriteObject(Object value)
{
InitializeWriting();
if( value is System.Byte )
{
this.WriteByte( (byte) value );
}
else if( value is Char )
{
this.WriteChar( (char) value );
}
else if( value is Boolean )
{
this.WriteBoolean( (bool) value );
}
else if( value is Int16 )
{
this.WriteInt16( (short) value );
}
else if( value is Int32 )
{
this.WriteInt32( (int) value );
}
else if( value is Int64 )
{
this.WriteInt64( (long) value );
}
else if( value is Single )
{
this.WriteSingle( (float) value );
}
else if( value is Double )
{
this.WriteDouble( (double) value );
}
else if( value is byte[] )
{
this.WriteBytes( (byte[]) value );
}
else if( value is String )
{
this.WriteString( (string) value );
}
else
{
throw new MessageFormatException("Cannot write non-primitive type:" + value.GetType());
}
}