Register container module
This commit is contained in:
@ -107,22 +107,26 @@ namespace AutofacSamples3
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class ParentChildModule : Autofac.Module
|
||||||
|
{
|
||||||
|
protected override void Load(ContainerBuilder builder)
|
||||||
|
{
|
||||||
|
builder.RegisterType<Parent>();
|
||||||
|
builder.Register(c => new Child() { Parent = c.Resolve<Parent>() });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
internal class Program
|
internal class Program
|
||||||
{
|
{
|
||||||
public static void Main(string[] args)
|
public static void Main(string[] args)
|
||||||
{
|
{
|
||||||
var assembly = Assembly.GetExecutingAssembly();
|
|
||||||
var builder = new ContainerBuilder();
|
var builder = new ContainerBuilder();
|
||||||
builder.RegisterAssemblyTypes(assembly)
|
//builder.RegisterAssemblyModules(typeof(Program).Assembly);
|
||||||
.Where(t => t.Name.EndsWith("Log"))
|
builder.RegisterAssemblyModules<ParentChildModule>(typeof(Program).Assembly);
|
||||||
.Except<SMSLog>()
|
|
||||||
.Except<ConsoleLog>(c => c.As<ILog>().SingleInstance())
|
|
||||||
.AsSelf();
|
|
||||||
|
|
||||||
builder.RegisterAssemblyTypes(assembly)
|
var container = builder.Build();
|
||||||
.Except<SMSLog>()
|
Console.WriteLine(container.Resolve<Child>().Parent);
|
||||||
.Where(t => t.Name.EndsWith("Log"))
|
|
||||||
.As(t => t.GetInterfaces()[0]);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user