Get_Folder_Module_By_Key() public méthode

Get a folder module by key, avoiding multiple instances of folder modules from being created
public Get_Folder_Module_By_Key ( string Key ) : iFolderModule
Key string Key for this folder module, usually the namespace and class name
Résultat iFolderModule
        /// <summary> Constructor for a new instance of the Actionable_Builder_Source_Folder class </summary>
        /// <param name="ExistingBaseInstance"> An existing base instance used to populate this class with data </param>
        /// <param name="BuilderModulesConfig"> Builder module configuration to use to process this incoming folder structure </param>
        /// <remarks> This extends the core class <see cref="Builder_Source_Folder"/> and adds some methods to perform work </remarks>
        public Actionable_Builder_Source_Folder(Builder_Source_Folder ExistingBaseInstance, Builder_Modules BuilderModulesConfig )
        {
            Allow_Deletes = ExistingBaseInstance.Allow_Deletes;
            Allow_Folders_No_Metadata = ExistingBaseInstance.Allow_Folders_No_Metadata;
            Allow_Metadata_Updates = ExistingBaseInstance.Allow_Metadata_Updates;
            Archive_All_Files = ExistingBaseInstance.Archive_All_Files;
            Archive_TIFFs = ExistingBaseInstance.Archive_TIFFs;
            BibID_Roots_Restrictions = ExistingBaseInstance.BibID_Roots_Restrictions;
            Failures_Folder = ExistingBaseInstance.Failures_Folder;
            Folder_Name = ExistingBaseInstance.Folder_Name;
            Inbound_Folder = ExistingBaseInstance.Inbound_Folder;
            Perform_Checksum = ExistingBaseInstance.Perform_Checksum;
            Processing_Folder = ExistingBaseInstance.Processing_Folder;

            BuilderModules = new List<iFolderModule>();

            // Copy over the folder modules
            foreach (Builder_Module_Setting settings in ExistingBaseInstance.Builder_Module_Settings)
            {
                iFolderModule module = BuilderModulesConfig.Get_Folder_Module_By_Key(settings.Key);
                if (module != null)
                    BuilderModules.Add(module);
            }
        }