The Read
and Write
overrides were using the wrong type for (as per C#) byte[]
.
For the overrides to actually override the methods on stream you need to use the correct type, which, in a roundabout way I discovered by tinkering with override
omitted until the compiler told me I was hiding a method on System.IO.Stream:
So;
typedef array<Byte>^ ByteArray;
Then;
virtual __int32 Read(ByteArray, __int32, __int32) override;