in src/main/csharp/StreamMessage.cs [790:837]
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());
}
}