CSharp · Console
using System;
using Microsoft.Practices.Unity;
public class Program
{
public interface IBeing
{
string Name {get;}
}
public class Dragon : IBeing
{
private string _name;
public Dragon()
{
_name = "Dragon";
}
public Dragon(string name)
{
_name = name;
}
public string Name
{
get
{
return "Me, I am " + _name;
}
}
}
public void Main()
{
IUnityContainer container = new UnityContainer()
.RegisterType<IBeing, Dragon>(new InjectionConstructor(@"Some cool new value"));
container.RegisterType<Dragon>(new InjectionConstructor(@"Some cool new value"));
var someBeing = container.Resolve<IBeing>();
Console.WriteLine(someBeing.Name);
var dragon = container.Resolve<Dragon>();
Console.WriteLine(dragon.Name);
}
}