protected virtual void OnProbeComplete(ProbeCompleteEventArgs e)
 {
     if (this.EventsEnabled)
     {
         var evnt = this.ProbeComplete;
         if (evnt != null)
         {
             evnt(this, e);
         }
     }
 }
        public virtual PluginInfoList Probe(string pluginFolderPath, SearchOption scanDeapth)
        {
            AppDomain      domain   = null;
            PluginInfoList infoList = new PluginInfoList();

            domain = AppDomain.CreateDomain("PluginLoaderBase.Probe");
            Type             t      = this.GetType();
            PluginLoaderBase loader = (PluginLoaderBase)domain.CreateInstanceFromAndUnwrap(t.Assembly.Location, t.FullName);

            infoList = loader.OnProbeWrapper(pluginFolderPath, scanDeapth);

            AppDomain.Unload(domain);

            ProbeCompleteEventArgs probeCompleteArgs = new ProbeCompleteEventArgs(infoList);

            this.OnProbeComplete(probeCompleteArgs);

            return(infoList);
        }
 protected virtual void OnProbeComplete(ProbeCompleteEventArgs e)
 {
     if (this.EventsEnabled)
     {
         var evnt = this.ProbeComplete;
         if (evnt != null)
             evnt(this, e);
     }
 }
        public virtual PluginInfoList Probe(string pluginFolderPath, SearchOption scanDeapth)
        {
            AppDomain domain = null;
            PluginInfoList infoList = new PluginInfoList();

            domain = AppDomain.CreateDomain("PluginLoaderBase.Probe");
            Type t = this.GetType();
            PluginLoaderBase loader = (PluginLoaderBase)domain.CreateInstanceFromAndUnwrap(t.Assembly.Location, t.FullName);
            infoList = loader.OnProbeWrapper(pluginFolderPath, scanDeapth);

            AppDomain.Unload(domain);

            ProbeCompleteEventArgs probeCompleteArgs = new ProbeCompleteEventArgs(infoList);
            this.OnProbeComplete(probeCompleteArgs);

            return infoList;
        }