1、不使用BuildUp方法
{
static void Main(string[] args)
{
IUnityContainer container = new UnityContainer();
Fighter you = new Fighter();
you.AK47.Fire(); //拋出異常,AK47屬性爲null
Console.Read();
}
}
public class Gun
{
public void Fire()
{
Console.WriteLine("砰砰砰");
}
}
public class Fighter
{
public Gun AK47 { get; set; }
}
{
static void Main(string[] args)
{
IUnityContainer container = new UnityContainer();
container.RegisterType<Fighter>();
Fighter you = new Fighter();
container.BuildUp(you);
you.AK47.Fire(); //"砰砰砰
Console.Read();
}
}
public class Gun
{
public void Fire()
{
Console.WriteLine("砰砰砰");
}
}
public class Fighter
{
public Gun AK47 { get; set; }
}
{
static void Main(string[] args)
{
IUnityContainer container = new UnityContainer();
container.RegisterType<Fighter>(new InjectionProperty("AK47")); //可以接受多個InjectionProperty
Fighter you = new Fighter();
container.BuildUp(you);
you.AK47.Fire();
Console.Read();
}
}
public class Gun
{
public void Fire()
{
Console.WriteLine("砰砰砰");
}
}
public class Fighter
{
public Gun AK47 { get; set; }
}