Exemplo n.º 1
0
 public DeserializedFromStringValueInitializer([NotNull] IConfigurationFileElement configurationFileElement,
                                               [NotNull] ITypeInfo valueTypeInfo,
                                               [NotNull] string valueAsString,
                                               [NotNull] IDeserializedFromStringValueInitializerHelper deserializedFromStringValueInitializerHelper)
 {
     _configurationFileElement = configurationFileElement;
     ValueTypeInfo             = valueTypeInfo;
     ValueAsString             = valueAsString;
     _deserializedFromStringValueInitializerHelper = deserializedFromStringValueInitializerHelper;
 }
 public AutoGeneratedMemberReturnValuesIfSelectorElement([NotNull] XmlElement xmlElement,
                                                         [NotNull] IAutoGeneratedServiceMethodElement parentAutoGeneratedServiceMethodElement,
                                                         [NotNull] ISettingValueInitializerHelper settingValueInitializerHelper,
                                                         [NotNull] IDeserializedFromStringValueInitializerHelper deserializedFromStringValueInitializerHelper,
                                                         [NotNull] IClassMemberValueInitializerHelper classMemberValueInitializerHelper) : base(xmlElement, parentAutoGeneratedServiceMethodElement)
 {
     _settingValueInitializerHelper = settingValueInitializerHelper;
     _deserializedFromStringValueInitializerHelper = deserializedFromStringValueInitializerHelper;
     _classMemberValueInitializerHelper            = classMemberValueInitializerHelper;
 }
        public IConfigurationFileElement CreateConfigurationFileElement(XmlElement xmlElement, IConfigurationFileElement parentConfigurationFileElement)
        {
#if DEBUG
            //++_debugCounter;
            //LogHelper.Context.Log.Debug($"_debugCounter={_debugCounter}");
#endif
            var serializerAggregator = GetTypeBasedSimpleSerializerAggregator(parentConfigurationFileElement);

            IDeserializedFromStringValueInitializerHelper getDeserializedFromStringValueInitializerHelper()
            {
                if (_deserializedFromStringValueInitializerHelper != null)
                {
                    return(_deserializedFromStringValueInitializerHelper);
                }

                var deserializedFromStringValueInitializerHelper = IoCServiceFactoryAmbientContext.Context.CreateDeserializedFromStringValueInitializerHelper(serializerAggregator);

                if (_typeBasedSimpleSerializerAggregator != null && serializerAggregator == _typeBasedSimpleSerializerAggregator)
                {
                    _deserializedFromStringValueInitializerHelper = deserializedFromStringValueInitializerHelper;
                }

                return(deserializedFromStringValueInitializerHelper);
            }

            IConfigurationFileElement configurationFileElement = null;

            if (parentConfigurationFileElement is IMethodSignatureElement methodSignatureElement)
            {
                configurationFileElement = new MethodSignatureParameterElement(xmlElement, methodSignatureElement, _typeHelper);
            }
            else if (parentConfigurationFileElement is IParameters)
            {
                configurationFileElement = new ParameterElement(CreateValueInitializerElement(xmlElement, parentConfigurationFileElement,
                                                                                              getDeserializedFromStringValueInitializerHelper()));
            }
            else if (parentConfigurationFileElement is ISettingsElement)
            {
                configurationFileElement = new SettingElement(CreateValueInitializerElement(xmlElement, parentConfigurationFileElement,
                                                                                            getDeserializedFromStringValueInitializerHelper()),
                                                              IoCServiceFactoryAmbientContext.Context.IdentifierValidator);
            }
            else if (parentConfigurationFileElement is IInjectedProperties)
            {
                configurationFileElement = new InjectedPropertyElement(CreateValueInitializerElement(xmlElement, parentConfigurationFileElement,
                                                                                                     getDeserializedFromStringValueInitializerHelper()));
            }
            else if (parentConfigurationFileElement is ICollectionValueElement ||
                     parentConfigurationFileElement is IValueInitializerElementDecorator valueInitializerElementDecorator &&
                     valueInitializerElementDecorator.DecoratedValueInitializerElement is ICollectionValueElement)
            {
                configurationFileElement = new CollectionItemValueElement(CreateValueInitializerElement(xmlElement, parentConfigurationFileElement,
                                                                                                        getDeserializedFromStringValueInitializerHelper()));
            }
Exemplo n.º 4
0
 /// <inheritdoc />
 public ValueInitializerElementDeserializedFromString([NotNull] XmlElement xmlElement, IConfigurationFileElement parent,
                                                      [NotNull] ITypeHelper typeHelper,
                                                      [NotNull] IDeserializedFromStringValueInitializerHelper deserializedFromStringValueInitializerHelper) : base(xmlElement, parent, typeHelper)
 {
     _deserializedFromStringValueInitializerHelper = deserializedFromStringValueInitializerHelper;
 }