Archived
Private
Public Access
1
0
This repository has been archived on 2026-02-04. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ProjectManager/ProjectManager.Backend/Options/OptionsFromConfiguration.cs
2022-12-18 13:30:02 +01:00

21 lines
688 B
C#

namespace ProjectManager.Backend.Options;
public abstract class OptionsFromConfiguration {
public abstract string Position { get; set; }
}
public static class OptionsFromConfigurationExtensions {
public static T AddOptionsFromConfiguration<T>(this IServiceCollection services, IConfiguration configuration) where T : OptionsFromConfiguration {
T optionsInstance = (T)Activator.CreateInstance(typeof(T));
if (optionsInstance == null) return null;
var position = optionsInstance.Position;
services.Configure((Action<T>)(options => {
configuration.Bind(position, options);
}));
return optionsInstance;
}
}