/// <summary>Finds all subtypes and registers the handler
 /// for any newly loaded assemblies.</summary>
 public static void FindAllSubTypesNow(Type type, OnFoundTypeEvent mtd)
 {
     // Only adds the one:
     ScanAllNow(delegate(AssemblyScanner scanner){
         // Find:
         scanner.FindAllSubTypes(type, mtd);
     });
 }
        /// <summary>Checks for the given type. Optionally allow multiple passes
        /// (e.g. if searching for a type requires other types to be ready to go).</summary>
        public void FindAllSubTypes(int pass, Type type, OnFoundTypeEvent found, bool allowGeneric)
        {
            // Create:
            TypeToFind ttf = new TypeToFind(type, found);

            ttf.AllowGeneric = allowGeneric;

            // Add:
            Add(pass, ttf);
        }
 internal TypeToFind(Type type, OnFoundTypeEvent found)
 {
     Type  = type;
     Found = found;
 }
 /// <summary>Checks for the given type. Optionally allow multiple passes
 /// (e.g. if searching for a type requires other types to be ready to go).</summary>
 public void FindAllSubTypes(int pass, Type type, OnFoundTypeEvent found)
 {
     FindAllSubTypes(pass, type, found, false);
 }
 /// <summary>Checks for the given type.</summary>
 public void FindAllSubTypes(Type type, OnFoundTypeEvent found)
 {
     FindAllSubTypes(0, type, found, false);
 }
 /// <summary>Searches modules for subclasses of the given type (includes the type itself).
 /// Runs the found event for each one it discovers.</summary>
 public void FindAllSubTypes(Type type, OnFoundTypeEvent found)
 {
     Scanner.FindAllSubTypes(type, found);
 }