MongoDB.Bson.Serialization.Conventions.NamedExtraElementsMemberConvention.Apply C# (CSharp) Method

Apply() public method

Applies a modification to the class map.
public Apply ( BsonClassMap classMap ) : void
classMap BsonClassMap The class map.
return void
        public void Apply(BsonClassMap classMap)
        {
            foreach (var name in _names)
            {
                var member = classMap.ClassType.GetMember2(name, _memberTypes, _bindingFlags).SingleOrDefault();

                if (member != null)
                {
                    Type memberType = null;
                    var fieldInfo = member as FieldInfo;
                    if (fieldInfo != null)
                    {
                        memberType = fieldInfo.FieldType;
                    }
                    else
                    {
                        var propertyInfo = member as PropertyInfo;
                        if (propertyInfo != null)
                        {
                            memberType = propertyInfo.PropertyType;
                        }
                    }

                    if (memberType != null && (memberType == typeof(BsonDocument) || typeof(IDictionary<string, object>).IsAssignableFrom(memberType)))
                    {
                        classMap.MapExtraElementsMember(member);
                        return;
                    }
                }
            }
        }

Usage Example

 public void TestNamedExtraElementsMemberConventionWithTestClassB()
 {
     var convention = new NamedExtraElementsMemberConvention("ExtraElements");
     var classMap = new BsonClassMap<TestClassB>();
     convention.Apply(classMap);
     Assert.IsNull(classMap.ExtraElementsMemberMap);
 }
All Usage Examples Of MongoDB.Bson.Serialization.Conventions.NamedExtraElementsMemberConvention::Apply