public void WriteObject(object value) { switch (ObjectEncoding) { case ObjectEncoding.Amf0: writer.WriteAmfItem(ObjectEncoding.Amf0, value); break; case ObjectEncoding.Amf3: writer.WriteAmf3Item(value); break; default: throw new ArgumentOutOfRangeException(); } }