26 lines
843 B
C#
26 lines
843 B
C#
using System.Diagnostics.CodeAnalysis;
|
|
using Moonlight.Frontend.Interfaces;
|
|
|
|
namespace Moonlight.Frontend.Configuration;
|
|
|
|
public class LayoutMiddlewareOptions
|
|
{
|
|
public IReadOnlyList<Type> Components => InnerComponents;
|
|
|
|
private readonly List<Type> InnerComponents = new();
|
|
|
|
public void Add<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>() where T : LayoutMiddlewareBase
|
|
{
|
|
InnerComponents.Add(typeof(T));
|
|
}
|
|
|
|
public void Insert<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>(int index) where T : LayoutMiddlewareBase
|
|
{
|
|
InnerComponents.Insert(index, typeof(T));
|
|
}
|
|
|
|
public void Remove<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All)] T>() where T : LayoutMiddlewareBase
|
|
{
|
|
InnerComponents.Remove(typeof(T));
|
|
}
|
|
} |