Esempio n. 1
0
        static fiInstalledSerializerManager()
        {
            var optIn  = new List <Type>();
            var optOut = new List <Type>();

            LoadedMetadata = new List <fiISerializerMetadata>();

            fiILoadedSerializers serializers;

            if (TryGetLoadedSerializerType(out serializers))
            {
                _defaultMetadata = GetProvider(serializers.DefaultSerializerProvider);

                foreach (var providerType in serializers.AllLoadedSerializerProviders)
                {
                    fiISerializerMetadata metadata = GetProvider(providerType);

                    LoadedMetadata.Add(metadata);
                    optIn.AddRange(metadata.SerializationOptInAnnotationTypes);
                    optOut.AddRange(metadata.SerializationOptOutAnnotationTypes);
                }
            }

            foreach (var providerType in fiRuntimeReflectionUtility.AllSimpleTypesDerivingFrom(typeof(fiISerializerMetadata)))
            {
                fiISerializerMetadata metadata = GetProvider(providerType);

                LoadedMetadata.Add(metadata);
                optIn.AddRange(metadata.SerializationOptInAnnotationTypes);
                optOut.AddRange(metadata.SerializationOptOutAnnotationTypes);
            }

            SerializationOptInAnnotations  = optIn.ToArray();
            SerializationOptOutAnnotations = optOut.ToArray();
        }
        static fiInstalledSerializerManager()
        {
            var optIn = new List<Type>();
            var optOut = new List<Type>();

            LoadedMetadata = new List<fiISerializerMetadata>();

            fiILoadedSerializers serializers;
            if (TryGetLoadedSerializerType(out serializers)) {
                _defaultMetadata = GetProvider(serializers.DefaultSerializerProvider);

                foreach (var providerType in serializers.AllLoadedSerializerProviders) {
                    fiISerializerMetadata metadata = GetProvider(providerType);

                    LoadedMetadata.Add(metadata);
                    optIn.AddRange(metadata.SerializationOptInAnnotationTypes);
                    optOut.AddRange(metadata.SerializationOptOutAnnotationTypes);
                }

            }

            foreach (var providerType in fiRuntimeReflectionUtility.AllSimpleTypesDerivingFrom(typeof(fiISerializerMetadata))) {
                fiISerializerMetadata metadata = GetProvider(providerType);

                LoadedMetadata.Add(metadata);
                optIn.AddRange(metadata.SerializationOptInAnnotationTypes);
                optOut.AddRange(metadata.SerializationOptOutAnnotationTypes);
            }

            SerializationOptInAnnotations = optIn.ToArray();
            SerializationOptOutAnnotations = optOut.ToArray();
        }