public PluginStepOptionsBuilder(PluginTypeOptionsBuilder pluginTypeOptionsBuilder, PluginStepRegistration pluginStepRegistration) { PluginTypeOptions = pluginTypeOptionsBuilder; PluginStepRegistration = pluginStepRegistration; Rank(1); }
public PluginTypeOptionsBuilder HasPlugin <T>() where T : IPlugin { //var assy = PluginAssemblyRegistration.Assembly; //var types = assy.GetTypes().Where(i => i.IsClass && typeof(IPlugin).IsAssignableFrom(i)); var typeReg = new PluginTypeRegistration(PluginAssemblyRegistration, typeof(T)); PluginAssemblyRegistration.PluginTypeRegistrations.Add(typeReg); var builder = new PluginTypeOptionsBuilder(this, typeReg); return(builder); }
public PluginAssemblyOptionsBuilder DiscoverPluginTypes(Action <PluginTypeOptionsBuilder, Type> configurePluginTypeCallback) { var assy = PluginAssemblyRegistration.Assembly; var types = assy.GetTypes().Where(i => i.IsClass && typeof(IPlugin).IsAssignableFrom(i)); foreach (var type in types) { var typeReg = new PluginTypeRegistration(PluginAssemblyRegistration, type); this.PluginAssemblyRegistration.PluginTypeRegistrations.Add(typeReg); if (configurePluginTypeCallback != null) { var builder = new PluginTypeOptionsBuilder(this, typeReg); configurePluginTypeCallback(builder, typeReg.Type); } } return(this); // return true; }