diff --git a/Pilz.Plugins.Advanced/PluginFeatureController.cs b/Pilz.Plugins.Advanced/PluginFeatureController.cs index 4650536..d63d08f 100644 --- a/Pilz.Plugins.Advanced/PluginFeatureController.cs +++ b/Pilz.Plugins.Advanced/PluginFeatureController.cs @@ -111,7 +111,7 @@ public class PluginFeatureController /// If not null, the type will only be processed if it's within the given namespace. public void RegisterAll(Type type, string? @namespace = null) { - if (@namespace != null && type.Namespace != null && type.Namespace != @namespace && !type.Namespace.StartsWith(@namespace + ".")) + if (@namespace != null && type.Namespace != null && type.Namespace != @namespace && !type.Namespace.StartsWith(@namespace + ".") || type.IsAbstract) return; if (type.IsAssignableTo(typeof(IPluginFeaturesProvider))) @@ -171,11 +171,8 @@ public class PluginFeatureController /// public void Register(PluginFeature module) { - if (!features.Contains(module)) - { - features.Add(module); + if (features.Add(module)) OnPluginFeatureReistred?.Invoke(this, module); - } } ///