activating eventhandler
This commit is contained in:
@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user