public void Apply(BsonClassMap classMap)
{
foreach (IBsonClassMapAttribute attribute in classMap.ClassType.GetCustomAttributes(typeof(IBsonClassMapAttribute), false))
{
attribute.Apply(classMap);
}
#pragma warning disable 618 // obsoleted by IBsonClassMapModifier
foreach (IBsonClassMapModifier attribute in classMap.ClassType.GetCustomAttributes(typeof(IBsonClassMapModifier), false))
{
// only apply this if it wasn't already applied
if (!(attribute is IBsonClassMapAttribute))
{
attribute.Apply(classMap);
}
}
#pragma warning restore 618
OptInMembersWithBsonMemberMapModifierAttribute(classMap);
OptInMembersWithBsonCreatorMapModifierAttribute(classMap);
IgnoreMembersWithBsonIgnoreAttribute(classMap);
ThrowForDuplicateMemberMapAttributes(classMap);
}