1 Commits

View File

@@ -9,18 +9,20 @@ public class SystemSettingsOptions
private readonly List<SystemSettingsPage> InnerComponents = new();
public void Add<TIcon, TComponent>(string name, string description, int order)
public void Add<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] TIcon,
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] TComponent>(string name, string description,
int order)
where TIcon : ComponentBase where TComponent : ComponentBase
=> Add(name, description, order, typeof(TIcon), typeof(TComponent));
public void Add(string name, string description, int order, Type iconComponent, Type component)
public void Add(string name, string description, int order, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type iconComponent, [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type component)
=> InnerComponents.Add(new SystemSettingsPage(name, description, order, iconComponent, component));
public void Remove<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] TComponent>()
where TComponent : ComponentBase
=> Remove(typeof(TComponent));
public void Remove(Type componentType)
public void Remove([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] Type componentType)
=> InnerComponents.RemoveAll(x => x.ComponentType == componentType);
}
@@ -28,7 +30,6 @@ public record SystemSettingsPage(
string Name,
string Description,
int Order,
[property: DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)]
Type IconComponentType,
Type ComponentType
);