/// <summary> /// Register a callback that will be invoked when the container is configured. /// </summary> /// <remarks>This is primarily for extending the builder syntax.</remarks> /// <param name="configurationCallback">Callback to execute.</param> public virtual DeferredCallback RegisterCallback(Action <IComponentRegistry> configurationCallback) { if (configurationCallback == null) { throw new ArgumentNullException(nameof(configurationCallback)); } var c = new DeferredCallback(configurationCallback); _configurationCallbacks.Add(c); return(c); }
// ReSharper disable once UnusedMember.Local private static object CreateCallbackProxy( ProxyGenerator proxyGenerator , Action <IComponentRegistry> callback , // ReSharper disable once UnusedParameter.Global // ReSharper disable once UnusedParameter.Local DeferredCallback defer ) { Logger.Info("Creating deffered callback proxy"); var x = proxyGenerator.CreateClassProxy( typeof(DeferredCallback) , new ProxyGenerationOptions( new CallBackHook( ) ) , new object[] { callback } , new CallbackInterceptor(proxyGenerator) ); return(x); }
public void Ctor_SetsId() { var c = new DeferredCallback(reg => { }); Assert.NotEqual(Guid.Empty, c.Id); }
public void Callback_Null() { var c = new DeferredCallback(reg => { }); Assert.Throws <ArgumentNullException>(() => { c.Callback = null; }); }