public void WriteObject( System.Object value )
{
InitializeWriting();
if( value is System.Byte )
{
this.dataOut.Write( (byte) value );
}
else if( value is Char )
{
this.dataOut.Write( (char) value );
}
else if( value is Boolean )
{
this.dataOut.Write( (bool) value );
}
else if( value is Int16 )
{
this.dataOut.Write( (short) value );
}
else if( value is Int32 )
{
this.dataOut.Write( (int) value );
}
else if( value is Int64 )
{
this.dataOut.Write( (long) value );
}
else if( value is Single )
{
this.dataOut.Write( (float) value );
}
else if( value is Double )
{
this.dataOut.Write( (double) value );
}
else if( value is byte[] )
{
this.dataOut.Write( (byte[]) value );
}
else if( value is String )
{
this.dataOut.WriteString16( (string) value );
}
else
{
throw new MessageFormatException("Cannot write non-primitive type:" + value.GetType());
}
}