MongoDB.Bson.Serialization.BsonCreatorMap.Freeze C# (CSharp) Метод

Freeze() публичный Метод

Freezes the creator map.
public Freeze ( ) : void
Результат void
        public void Freeze()
        {
            if (!_isFrozen)
            {
                var allMemberMaps = _classMap.AllMemberMaps;

                var elementNames = new List<string>();
                var defaultValues = new Dictionary<string, object>();
                if (_arguments != null)
                {
                    foreach (var argument in _arguments)
                    {
                        // compare MetadataTokens because ReflectedTypes could be different (see p. 774-5 of C# 5.0 In a Nutshell)
                        var memberMap = allMemberMaps.FirstOrDefault(m => m.MemberInfo.MetadataToken == argument.MetadataToken);
                        if (memberMap == null)
                        {
                            var message = string.Format("Member '{0}' is not mapped.", argument.Name);
                            throw new BsonSerializationException(message);
                        }
                        elementNames.Add(memberMap.ElementName);
                        if (memberMap.IsDefaultValueSpecified)
                        {
                            defaultValues.Add(memberMap.ElementName, memberMap.DefaultValue);
                        }
                    }
                }

                _elementNames = elementNames;
                _defaultValues = defaultValues;
                _isFrozen = true;
            }
        }