This is changing the semantic of contentReaderType access. readonly on fields are here to secure that the field cannot be changed outside the constructor. While this is probably not the case everwhere in SharpDX code base, I probably now tend to prefer readonly fields as much as possible.