/// <summary>
 ///     Initializes a new instance of the DataExtensionReflector class.
 /// </summary>
 /// <param name="extensionProvider">
 ///     A type provider that this observer will register with.
 /// </param>
 /// <param name="repoBuilder">
 ///     Provides an output to store discovered extensions.
 /// </param>
 public DataExtensionReflector(
     IExtensionTypeProvider extensionProvider,
     IDataExtensionRepositoryBuilder repoBuilder)
 {
     this.repoBuilder = repoBuilder;
     extensionProvider.RegisterTypeConsumer(this);
 }
        public ReflectionPlugInCatalog(
            IExtensionTypeProvider extensionDiscovery,
            TryCreateCustomDataSourceReferenceDelegate referenceFactory)
        {
            Guard.NotNull(extensionDiscovery, nameof(extensionDiscovery));
            Guard.NotNull(referenceFactory, nameof(referenceFactory));

            this.referenceFactory = referenceFactory;

            this.loadedDataSources = new Dictionary <Type, CustomDataSourceReference>();
            this.IsLoaded          = false;

            extensionDiscovery.RegisterTypeConsumer(this);
        }
 public ReflectionPlugInCatalog(IExtensionTypeProvider extensionDiscovery)
     : this(
         extensionDiscovery,
         CustomDataSourceReference.TryCreateReference)
 {
 }