DeserializeValue() public method

Deserializes the value.
public DeserializeValue ( BsonValue value ) : object
value BsonValue The value.
return object
        public void SetValue(object targetResource, string propertyName, object propertyValue)
        {
            var resourceType = GetResourceType(targetResource);
            var annotation = (TypedResourceTypeAnnotation)resourceType.CustomState;
            var memberMap = annotation.ClassMap.GetMemberMap(propertyName);
            var serializer = memberMap.GetSerializer(memberMap.MemberType) as IBsonArraySerializer;
            if (serializer != null)
            {
                var itemSerializationInfo = serializer.GetItemSerializationInfo();
                var array = itemSerializationInfo.SerializeValues((IEnumerable)propertyValue);
                var memberMapSerializationInfo = new BsonSerializationInfo(memberMap.ElementName,
                    serializer,
                    memberMap.MemberType,
                    memberMap.SerializationOptions);

                propertyValue = memberMapSerializationInfo.DeserializeValue(array);
            }
            memberMap.Setter(targetResource, propertyValue);
            if (_rememberedInstances.Contains(targetResource))
            {
                return;
            }

            var collection = GetCollection(resourceType);
            _rememberedInstances.Add(targetResource);
            _actions.Add(() => collection.Save(resourceType.InstanceType, targetResource));
        }