Я пытаюсь выяснить, как сказать ninject, чтобы установить область действия всех привязок с определенным базовым типом.Я думаю, что ниже близко, но это не работает:
var scanner = new AssemblyScanner();
scanner.FromCallingAssembly();
scanner.BindWith<DefaultBindingGenerator>();
kernel.Scan(scanner);
//maps.Count is always 0 :-(
var maps = kernel.GetBindings(typeof(IMapper<,>));
foreach (var map in maps)
{
map.ScopeCallback = StandardScopeCallbacks.Singleton;
}
Один из объектов, которые я хочу быть синглтон:
public interface ILoanApplicationModelToViewMapper : IMapper<LoanApplication, LoanApplicationViewModel>
{
}
public class LoanApplicationModelToViewMapper : Mapper<LoanApplication, LoanApplicationViewModel>, ILoanApplicationModelToViewMapper
{
}