MongoDB.Bson.Serialization.BsonClassMapSerializer.CreateInstanceUsingCreator C# (CSharp) Метод

CreateInstanceUsingCreator() приватный Метод

private CreateInstanceUsingCreator ( object>.Dictionary values ) : object
values object>.Dictionary
Результат object
        private object CreateInstanceUsingCreator(Dictionary<string, object> values)
        {
            var creatorMap = ChooseBestCreator(values);
            var obj = creatorMap.CreateInstance(values); // removes values consumed

            var supportsInitialization = obj as ISupportInitialize;
            if (supportsInitialization != null)
            {
                supportsInitialization.BeginInit();
            }

            // process any left over values that weren't passed to the creator
            foreach (var keyValuePair in values)
            {
                var elementName = keyValuePair.Key;
                var value = keyValuePair.Value;

                var memberMap = _classMap.GetMemberMapForElement(elementName);
                if (!memberMap.IsReadOnly)
                {
                    memberMap.Setter.Invoke(obj, value);
                }
            }

            if (supportsInitialization != null)
            {
                supportsInitialization.EndInit();
            }

            return obj;
        }