对于我的应用程序,我正在尝试编写配置控制器,以加载和保存某些模块的设置。为此,我将使用一个 INI 文件,其中部分名称将表示模块名称(或其他标识),而值则由键表示。
我在引导程序中注册了我的控制器,并使用我的构造函数中的接口在适当的类中注入。但是我不想每次需要获取或设置值时都输入模块名称,所以我尝试使用调用者信息来找出哪个模块(或类)正在调用该方法,但这显然不起作用(返回空字符串)。
还有另一种方法可以实现我想要做的事情吗?
引导程序:
protected override void ConfigureContainer()
{
base.ConfigureContainer();
Container.RegisterType<IConfig, ConfigController>(new ContainerControlledLifetimeManager());
}
配置界面:
public interface IConfig
{
string[] GetSettings(string caller = "");
void Set<T>(string setting, T value, string caller = "") where T : class;
T Get<T>(string setting, string caller = "") where T : class;
}