estoy registrar componentes con el siguiente código:Volver misma instancia de múltiples interfaces
StandardKernel kernel = new StandardKernel();
string currentDirectory = Path.GetDirectoryName(GetType().Assembly.Location)
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
if (!Path.GetDirectoryName(assembly.Location).Equals(currentDirectory))
continue;
foreach (var type in assembly.GetTypes())
{
if (!type.IsComponent())
continue;
foreach (var @interface in type.GetInterfaces())
kernel.Bind(@interface).To(type).InSingletonScope();
}
}
Entonces tengo una clase que implementa dos interfaces:
class StandardConsole : IStartable, IConsumer<ConsoleCommand>
Si puedo resolver IStartable
consigo uno Por ejemplo, si resuelvo IConsumer<ConsoleCommand>
obtengo otro.
¿Cómo obtengo la misma instancia para ambas interfaces?
Esta pregunta debe dividirse en dos, una para Ninject y otra para autofac. –
@JeffWalkerCodeRanger: ¿Has dado -1 por eso? :) – jgauffin
Hay 3 o 4 dups en el lado de Ninject, ver http://stackoverflow.com/questions/3147996/binding-singleton-to-multiple-services-in-ninject Se eliminó la etiqueta de ninject sobre esa base. Sugerir la eliminación de aspecto ninject de la pregunta ya que esto hace una pregunta sin respuesta –