//public bool Cancel(bool mayInterruptIfRunning) //{ // return false; //} //public bool IsCancelled() //{ // return false; //} //public bool IsDone() //{ // return true; //} public T Get() { if (instance != null) { return(instance); } lock (injector) { T t; if (ReflectionUtilities.IsAssignableFromIgnoreGeneric(typeof(Name <>), iface)) { t = (T)injector.GetNamedInstance(iface); } else { t = (T)injector.GetInstance(iface); } Aspect a = injector.GetAspect(); if (a != null) { a.InjectionFutureInstantiated(this, t); } return(t); } }