title: avoid Circular reference when using Unity 4.0 C#
body: <p>I am not sure how to avoid circular reference in following scenario.  Issue is stackoverflow due to circular reference. How do I use Lazy or another approach to resolve this?
  I don't like to pass the container everywhere as well. </p>
  
  <pre><code> public class MySocket : ISender
      {
          [Dependency]
          public IVehicleManager VehicleManager { get; set; }
  
          public void Connect()
          {
              Console.WriteLine("MySocket: Connect");
              VehicleManager.AddActiveConnection();
          }
  
      }
  
  
   public class MyVehicleManager : IVehicleManager
      {
          [Dependency]
          public ISender Sender { get; set; }
  
          public void AddActiveConnection()
          {
              Console.WriteLine("MyVehicleManager: Add");
          }
  
          public void SendPacketToVehicle(ISender sender)
          {
              Console.WriteLine("MyVehicleManager: Passing data");
              sender.SendPacket();
          }
  
      }
  
     static void Main(string[] args)
          {
              UContainer = new UnityContainer();
              UContainer.RegisterType&lt;IVehicleManager, MyVehicleManager&gt;(new ContainerControlledLifetimeManager());
              UContainer.RegisterType&lt;MySocket, MySocket&gt;(new ContainerControlledLifetimeManager());
              MySocket myInstance = UContainer.Resolve&lt;MySocket&gt;();
  
  
  
          }
  </code></pre>