/// <summary> /// Inicializa um IoCManager utilizando um determinado resource, que pode ser o AppDomain.config (Web.Config, por exemplo), /// ou um arquivo xml, ou um xml compilado dentro de uma assembly. /// </summary> /// <param name="resourceName"> /// Deve ser um dos seguintes valores, dependendo do tipo do resource: /// null, se for AppDomainConfig, ou /// "assembly://nome-do-assembly/path-dentro-do-assembly/nome-do-arquivo.xml /// "nome-do-arquivo-com-path.xml", se for XmlFile. /// </param> /// <param name="resourceType">O tipo do resource para carregar o manager.</param> private IoCManager(string resourceName, IoCManagerResourceType resourceType) { switch (resourceType) { case IoCManagerResourceType.AppDomainConfig: container = new WindsorContainer(new XmlInterpreter()); break; case IoCManagerResourceType.Assembly: container = new WindsorContainer(new XmlInterpreter(new AssemblyResource(resourceName))); break; case IoCManagerResourceType.XmlFile: container = new WindsorContainer(new XmlInterpreter(new FileResource(resourceName))); break; } }
/// <summary> /// Cria uma instância diferente do IoCManager, com outros tipos de recursos. /// </summary> /// <param name="resourceName"> /// Deve ser um dos seguintes valores, dependendo do tipo do resource: /// null, se for AppDomainConfig, ou /// "assembly://nome-do-assembly/path-dentro-do-assembly/nome-do-arquivo.xml /// "nome-do-arquivo-com-path.xml", se for XmlFile. /// </param> /// <param name="resourceType">O tipo do resource para carregar o manager.</param> /// <returns>Instância do IoCManager</returns> public static IoCManager GetInstance(string resourceName, IoCManagerResourceType resourceType) { return(new IoCManager(resourceName, resourceType)); }