public override void Serialize(
BsonWriter bsonWriter,
Type nominalType,
object value,
IBsonSerializationOptions options
)
{
if (value == null)
{
bsonWriter.WriteNull();
return;
}
var nvc = (NameValueCollection)value;
bsonWriter.WriteStartArray();
foreach (var key in nvc.AllKeys)
{
foreach (var val in nvc.GetValues(key))
{
bsonWriter.WriteStartArray();
StringSerializer.Instance.Serialize(bsonWriter, typeof(string), key, options);
StringSerializer.Instance.Serialize(bsonWriter, typeof(string), val, options);
bsonWriter.WriteEndArray();
}
}
bsonWriter.WriteEndArray();
}