activating eventhandler

This commit is contained in:
2020-11-29 21:29:19 +01:00
parent e2027a5f7e
commit fda4022f5e

View File

@ -15,6 +15,11 @@ namespace AutoFacSamples2
{ {
public string Name { get; set; } public string Name { get; set; }
public Parent Parent { get; set; } public Parent Parent { get; set; }
public void SetParent(Parent parent)
{
Parent = parent;
}
} }
@ -25,7 +30,25 @@ namespace AutoFacSamples2
var builder = new ContainerBuilder(); var builder = new ContainerBuilder();
builder.RegisterType<Parent>(); builder.RegisterType<Parent>();
builder.RegisterType<Child>().PropertiesAutowired(); //1/builder.RegisterType<Child>().PropertiesAutowired();
//2/builder.RegisterType<Child>()
//2/ .WithProperty("Parent", new Parent());
//3/builder.Register(c =>
//3/{
//3/ var child = new Child();
//3/ child.SetParent(c.Resolve<Parent>());
//3/ return child;
//3/});
builder.RegisterType<Child>()
.OnActivated(e =>
{
var p = e.Context.Resolve<Parent>();
e.Instance.SetParent(p);
});
var container = builder.Build(); var container = builder.Build();
var parent = container.Resolve<Child>().Parent; var parent = container.Resolve<Child>().Parent;