我有一个通用存储库,我想注册一个特定的配置,所以它的工作方式有点像策略模式。这是存储库:
public class ConfigProvider<T> : IConfigProvider<T> where T : class
public ConfigProvider(IConfigFilePaths filePaths)
{
_filePaths = filePaths;
}
这些是我的两个配置类,用于对 ConfigProvider 进行参数化
public interface IConfigFilePaths
{
...
}
public class DefaultContractTypePaths : IConfigFilePaths
{
...
}
public class TranslationPaths : IConfigFilePaths
{
...
}
所以我想对依赖项配置做的是这样的:
builder.RegisterType<ConfigProvider<TranslationSet>>().As<IConfigProvider<TranslationSet>>();
builder.UseForType<ConfigProvider<TranslationSet>>().The<TranslationPaths>(); // this obviously does not work
有谁知道如何告诉 autofac 它应该TranslationPaths用于ConfigProvider<TranslationSet>而不引入新接口来标记配置?