Das Problem mit benutzerdefinierten Sammlungen in 1.4.2 und früher besteht darin, dass der C#-Treiber versucht, sie mit BsonClassMapSerializer zu serialisieren, da kein Serialisierungsprogramm für Ihre benutzerdefinierte Sammlung registriert ist. Der BsonClassMapSerializer erfordert jedoch, dass die zu serialisierende Klasse alle zu serialisierenden Daten als öffentliche get/set-Eigenschaften verfügbar macht (was Ihre Basisklasse List
Das Einzige, was sich in 1.5 ändert, ist, wie der Treiber auswählt, welcher Serializer verwendet werden soll, wenn ein POCO IEnumerable oder IDictionary implementiert.
Sie können benutzerdefinierte Sammlungen bereits in 1.4.2 und früher verwenden, indem Sie explizit einen Serialisierer für Ihre benutzerdefinierte Sammlung wie folgt registrieren:
BsonSerializer.RegisterSerializer(typeof(MyCollection), new EnumerableSerializer<int>());