public static IBsonSerializer RecursiveConfigureChildSerializer(IChildSerializerConfigurable configurable, IBsonSerializer childSerializer) { var childConfigurable = configurable.ChildSerializer as IChildSerializerConfigurable; if (childConfigurable != null) { childSerializer = RecursiveConfigureChildSerializer(childConfigurable, childSerializer); } return configurable.WithChildSerializer(childSerializer); }
private IBsonSerializer ConfigureChildSerializer(IChildSerializerConfigurable configurable, IBsonSerializer childSerializer) { var childConfigurable = configurable.ChildSerializer as IChildSerializerConfigurable; if (childConfigurable != null) { childSerializer = ConfigureChildSerializer(childConfigurable, childSerializer); } return configurable.WithChildSerializer(childSerializer); }
private IBsonSerializer RecursiveConfigureChildSerializer(IChildSerializerConfigurable configurable, IBsonSerializer childSerializer) { var childConfigurable = configurable.ChildSerializer as IChildSerializerConfigurable; if (childConfigurable != null) { childSerializer = RecursiveConfigureChildSerializer(childConfigurable, childSerializer); } return(configurable.WithChildSerializer(childSerializer)); }
public static IBsonSerializer GetDeepestChildSerializer(IChildSerializerConfigurable childConfigurableSerializer) { IBsonSerializer deepestChildSerializer = null; while (childConfigurableSerializer != null) { deepestChildSerializer = childConfigurableSerializer.ChildSerializer; childConfigurableSerializer = deepestChildSerializer as IChildSerializerConfigurable; } return(deepestChildSerializer); }