Problema de BinaryWriter Endian

Estoy usando la clase BinaryWriter para escribir un archivo binario en el disco. Cuando invoco el método Write, pasando un valor corto unsigned, lo escribe en formato little-endian. Por ejemplo:

bw.Write(0xA000); 

escribe el valor en el archivo binario como 0x00 0xA0. ¿Hay alguna manera de hacer que BInaryWriter use Big Endian? Si no, ¿es posible crear una nueva clase, heredar BinaryWriter y sobrecargar la función Write para que escriba big endian?

Puedes usar mi EndianBinaryWriter en MiscUtil . Eso le permite especificar el endianness que desea. También hay EndianBinaryReader y EndianBitConverter .

 EndianBinaryWriter writer = new EndianBinaryWriter(EndianBitConverter.Big, stream); writer.Write(...); 

No se deriva de BinaryWriter , por razones dadas en una publicación de blog .

según microsoft connect, actualmente no es compatible: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=484149