private DictionarySerializationOptions EnsureSerializationOptions(IBsonSerializationOptions options)
{
// support RepresentationSerializationOptions for backward compatibility
var representationSerializationOptions = options as RepresentationSerializationOptions;
if (representationSerializationOptions != null)
{
switch (representationSerializationOptions.Representation)
{
case BsonType.Array:
options = DictionarySerializationOptions.ArrayOfArrays;
break;
case BsonType.Document:
options = DictionarySerializationOptions.Document;
break;
default:
var message = string.Format("BsonType {0} is not a valid representation for a Dictionary.", representationSerializationOptions.Representation);
throw new BsonSerializationException(message);
}
}
return EnsureSerializationOptions<DictionarySerializationOptions>(options);
}
}