elsa-core/src/common/Elsa.Features/Services/IFeature.cs
2023-08-23 10:48:12 +02:00

31 lines
710 B
C#

using JetBrains.Annotations;
namespace Elsa.Features.Services;
/// <summary>
/// Represents a feature.
/// </summary>
[UsedImplicitly(ImplicitUseTargetFlags.WithInheritors | ImplicitUseTargetFlags.Members)]
public interface IFeature
{
/// <summary>
/// Gets the module that this feature belongs to.
/// </summary>
IModule Module { get; }
/// <summary>
/// Configures the feature.
/// </summary>
void Configure();
/// <summary>
/// Configures the hosted services.
/// </summary>
void ConfigureHostedServices();
/// <summary>
/// Applies the feature by adding services to the service collection.
/// </summary>
void Apply();
}