Show Menu

Unity Container Cheat Sheet by

Quick Reference for Unity Inversion of Control Container

Essential Links

Example Code

public interface ICar
  int Run();

public class Car : ICar
  private int _miles;

  public int Run()
    return ++_miles;

public class Driver
  private ICar _car;

  public Driver(ICar car)
    _car = car;

  public void RunCar()
    Console.WriteLine("Running {0} - {1} mile ", _car.GetType().Name, _car.Run());

Register and Resolve

IUnityContainer container = new UnityContainer();
container.RegisterType<ICar, Car>();

//Resolves dependencies and returns the Driver
Driver driver= container.Resolve<Driver>(); 

Constr­uctor Injection

public Driver(ICar car)
    _car = car;

Property Injection

public ICar Car { get; set; }

Register Types

//NuGet Package Unity.RegistrationByConvention
//The interface and class names must match
//ICar and Car
public static void RegisterTypes(IUnityContainer container)

Register Types In Assembly


public static void RegisterTypesInAssembly 
(IUnityContainer container, Assembly assembly)
  IEnumerable<Type> types = assembly.GetTypes()
    .Where(o => o.IsClass
          && !o.IsGenericType
          && !o.IsAbstract
          && o.GetInterfaces().Any());

  foreach (Type type in types)
      .First(), type);


No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Oracle SQL Injection Cheat Sheet
          Docker & Swarm 2022 Cheat Sheet

          More Cheat Sheets by GregFinzer

          C# Naming Conventions Cheat Sheet
          Angular CLI Cheat Sheet
          Elasticsearch Example Queries Cheat Sheet