예제 #1
0
        internal PluginLoader(PluginResolver resolver, PluginLoaderSetup setup)
        {
            if (resolver == null)
            {
                throw new ArgumentNullException("resolver");
            }

            _resolver = resolver;
            _settings = setup;
            _plugins  = new PluginCollection();
        }
예제 #2
0
        internal PluginTree(PluginContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            _syncRoot = new object();

            _loader   = null;
            _context  = context;
            _status   = PluginTreeStatus.None;
            _resolver = new PluginResolver(this);
            _rootNode = new PluginTreeNode(this);
        }
예제 #3
0
 internal PluginLoader(PluginResolver resolver)
 {
     _resolver = resolver ?? throw new ArgumentNullException(nameof(resolver));
     _plugins  = new PluginCollection();
 }
예제 #4
0
 internal PluginLoader(PluginResolver resolver) : this(resolver, null)
 {
 }