The Unity Application Block (Unity) is a lightweight, extensible dependency injection container for .NET with support for interception.
The Unity Application Block (Unity) is a lightweight, extensible dependency injection container for .NET. It also supports interception.
Unity targets both .NET CLR and Silverlight.
Installing Unity can most easily be done using its NuGet package:
Install-Package Unity
More information at:
Hello world in c#
interface IMessageWriter {
    void WriteMessage(string message);
}
class ConsoleWriter : IMessageWriter {
    public void WriteMessage(string message) { Console.WriteLine(message); }
}
class HelloWorldService {
    private readonly IMessageWriter _writer;
    public HelloWorldService(IMessageWriter writer) {
       _writer = writer;
    }
    public void Go() {
       _writer.Write("Hello World!");
    }
}
using (var container = new UnityContainer()) {        
    container.RegisterType<IMessageWriter, ConsoleWriter>();
    var helloWorldService = container.Resolve<HelloWorldService>();
    helloWorldService.Go();    
}