Como instanciar e aplicar diretivas programaticamente?

Eu sei que no ng2 temosComponentFactoryResolver que pode resolver fábricas que podemos aplicar a umViewContainerRef.

Mas, há algo semelhante para diretivas? uma maneira de instanciar e aplicá-los ao conteúdo projetado de um componente?