title: Get Encoding of BinaryReader/Writer?
body: <p>The .NET <code>BinaryReader/BinaryWriter</code> classes can be constructed with specifying an <code>Encoding</code> to use for <code>String</code>-related operations.</p>
  
  <p>I was implementing custom string formats with extension methods, but would yet implement them in a way they respect the <code>Encoding</code> specified when instantiating the <code>BinaryReader/Writer</code>.</p>
  
  <p>There does not seem to be a way to retrieve the Encoding from the reader/writer, not even when inheriting from their class. I could only inherit from them to  intercept the passed encoding by recreating all their constructors. I looked into the <a href="http://referencesource.microsoft.com/#mscorlib/system/io/binaryreader.cs,2aaf7dd80d348917">.NET source code</a>, and it is only used to instantiate a Decoder class (in case of the <code>BinaryReader</code>), but I can't access that one also.</p>
  
  <p>Do I lose to a shortcoming in those classes here? Can I hack into them with reflection?</p>