/// <summary> /// 解决服务时触发的回调 /// </summary> /// <param name="bindData">绑定数据</param> /// <param name="action">解决事件</param> /// <returns>服务绑定数据</returns> public static IBindData OnResolving(this IBindData bindData, Action action) { Guard.Requires <ArgumentNullException>(action != null); return(bindData.OnResolving((_, instance) => { action(); })); }
/// <inheritdoc cref="IBindData.OnResolving"/> public static IBindData OnResolving(this IBindData bindData, Action <object> closure) { Guard.Requires <ArgumentNullException>(closure != null); return(bindData.OnResolving((_, instance) => { closure(instance); })); }
/// <summary> /// 解决服务时触发的回调 /// </summary> /// <typeparam name="T">指定的类型</typeparam> /// <param name="bindData">绑定数据</param> /// <param name="closure">闭包</param> /// <returns>服务绑定数据</returns> public static IBindData OnResolving <T>(this IBindData bindData, Action <IBindData, T> closure) { Guard.Requires <ArgumentNullException>(closure != null); return(bindData.OnResolving((bind, instance) => { if (instance is T) { closure(bind, (T)instance); } })); }