У меня есть интерфейс с именем IContent, и я реализую его в нескольких классах. При создании экземпляров мне нужно получить значение свойств каждого значка из базы данных, у меня есть contentAppService, и у него есть метод для получения значка, который получает значение свойства изБД и создает экземпляр icontent:
public interface IContent {
}
public class PostContent : IContent {
public string Title{set;get;}
public string Content {set;get;}
}
public class contentAppService : appserviceBase
{
public T GetContent<T>() where T:class,IContent
{
//some code to create instance of IContent
}
}
И в контроллере я пишу код, подобный этому:
public class HomeController
{
private PostContent _postContent;
public HomeController(PostContent postContent)
{
_postContent=postContent;
}
}
При регистрации в Виндзоре мне нужно определить тип запрашиваемого объекта и, если он имеет типЗатем IContent вызывает contentAppService.GetContent для создания экземпляра.
В AutoFac мы можем реализовать IRegistrationSource для решения этого сценария, но в Виндзоре я не знаю, как решить проблему.