Currently BsonValue IConvertible methods are entirely implemented in BsonValue and switch on the BsonType.
It might be better to implement them as virtual methods and let the subclasses override them as needed to provide subclass specific behavior.
Currently BsonValue IConvertible methods are entirely implemented in BsonValue and switch on the BsonType.
It might be better to implement them as virtual methods and let the subclasses override them as needed to provide subclass specific behavior.