check for abstract types
This commit is contained in:
@@ -111,7 +111,7 @@ public class PluginFeatureController
|
|||||||
/// <param name="namespace">If not null, the type will only be processed if it's within the given namespace.</param>
|
/// <param name="namespace">If not null, the type will only be processed if it's within the given namespace.</param>
|
||||||
public void RegisterAll(Type type, string? @namespace = null)
|
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;
|
return;
|
||||||
|
|
||||||
if (type.IsAssignableTo(typeof(IPluginFeaturesProvider)))
|
if (type.IsAssignableTo(typeof(IPluginFeaturesProvider)))
|
||||||
@@ -171,12 +171,9 @@ public class PluginFeatureController
|
|||||||
/// <param name="module"></param>
|
/// <param name="module"></param>
|
||||||
public void Register(PluginFeature module)
|
public void Register(PluginFeature module)
|
||||||
{
|
{
|
||||||
if (!features.Contains(module))
|
if (features.Add(module))
|
||||||
{
|
|
||||||
features.Add(module);
|
|
||||||
OnPluginFeatureReistred?.Invoke(this, module);
|
OnPluginFeatureReistred?.Invoke(this, module);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Unregisters the given feature.
|
/// Unregisters the given feature.
|
||||||
|
|||||||
Reference in New Issue
Block a user