Thank you for the reply and clarification.
We have since moved away from the above implementation, and we are now using typed interfaces.
In regards to your comments, just one question. You say
It should ideally throw an exception as there is no conversion from
BsonNull
tostring
In C# null
is a valid value for a property/field of type string
. As such, instead of throwing should it not allow null
?