using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Options;
namespace NCC.ConfigurableOptions
{
///
/// 应用选项依赖接口
///
public partial interface IConfigurableOptions { }
///
/// 选项后期配置
///
///
public partial interface IConfigurableOptions : IConfigurableOptions
where TOptions : class, IConfigurableOptions
{
///
/// 选项后期配置
///
///
///
void PostConfigure(TOptions options, IConfiguration configuration);
}
///
/// 带验证的应用选项依赖接口
///
///
///
public partial interface IConfigurableOptions : IConfigurableOptions
where TOptions : class, IConfigurableOptions
where TOptionsValidation : class, IValidateOptions
{
}
///
/// 带监听的应用选项依赖接口
///
///
public partial interface IConfigurableOptionsListener : IConfigurableOptions
where TOptions : class, IConfigurableOptions
{
///
/// 监听
///
///
///
void OnListener(TOptions options, IConfiguration configuration);
}
}