@@ -591,16 +591,38 @@ public static Func<object> Factory(string service)
591591 return Handler . Factory ( service ) ;
592592 }
593593
594+ /// <summary>
595+ /// 扩展容器中的服务
596+ /// <para>允许在服务构建的过程中配置或者替换服务</para>
597+ /// <para>如果服务已经被构建,拓展会立即生效。</para>
598+ /// </summary>
599+ /// <param name="closure">闭包</param>
600+ public static void Extend ( Func < object , IContainer , object > closure )
601+ {
602+ Handler . Extend ( closure ) ;
603+ }
604+
605+ /// <summary>
606+ /// 扩展容器中的服务
607+ /// <para>允许在服务构建的过程中配置或者替换服务</para>
608+ /// <para>如果服务已经被构建,拓展会立即生效。</para>
609+ /// </summary>
610+ /// <param name="closure">闭包</param>
611+ public static void Extend ( Func < object , object > closure )
612+ {
613+ Handler . Extend ( closure ) ;
614+ }
615+
594616 /// <summary>
595617 /// 扩展容器中的服务
596618 /// <para>允许在服务构建的过程中配置或者替换服务</para>
597619 /// <para>如果服务已经被构建,拓展会立即生效。</para>
598620 /// </summary>
599621 /// <typeparam name="TService">服务名或别名</typeparam>
600622 /// <param name="closure">闭包</param>
601- public static void Extend < TService > ( Func < object , IContainer , object > closure )
623+ public static void Extend < TService > ( Func < TService , IContainer , object > closure )
602624 {
603- Handler . Extend < TService > ( closure ) ;
625+ Handler . Extend ( closure ) ;
604626 }
605627
606628 /// <summary>
@@ -610,9 +632,9 @@ public static void Extend<TService>(Func<object, IContainer, object> closure)
610632 /// </summary>
611633 /// <typeparam name="TService">服务名或别名</typeparam>
612634 /// <param name="closure">闭包</param>
613- public static void Extend < TService > ( Func < object , object > closure )
635+ public static void Extend < TService > ( Func < TService , object > closure )
614636 {
615- Handler . Extend < TService > ( closure ) ;
637+ Handler . Extend ( closure ) ;
616638 }
617639
618640 /// <summary>
@@ -1241,6 +1263,26 @@ public static IContainer OnRelease(Action<object> callback)
12411263 return Handler . OnRelease ( callback ) ;
12421264 }
12431265
1266+ /// <summary>
1267+ /// 当静态服务被释放时
1268+ /// </summary>
1269+ /// <param name="closure">处理释放时的回调</param>
1270+ /// <returns>当前容器实例</returns>
1271+ public static IContainer OnRelease < TWhere > ( Action < TWhere > closure )
1272+ {
1273+ return Handler . OnRelease ( closure ) ;
1274+ }
1275+
1276+ /// <summary>
1277+ /// 当静态服务被释放时
1278+ /// </summary>
1279+ /// <param name="closure">处理释放时的回调</param>
1280+ /// <returns>当前容器实例</returns>
1281+ public static IContainer OnRelease < TWhere > ( Action < IBindData , TWhere > closure )
1282+ {
1283+ return Handler . OnRelease ( closure ) ;
1284+ }
1285+
12441286 /// <summary>
12451287 /// 当服务被解决时,生成的服务会经过注册的回调函数
12461288 /// </summary>
@@ -1251,6 +1293,68 @@ public static IContainer OnResolving(Action<object> callback)
12511293 return Handler . OnResolving ( callback ) ;
12521294 }
12531295
1296+ /// <summary>
1297+ /// 当服务被解决时,生成的服务会经过注册的回调函数
1298+ /// </summary>
1299+ /// <param name="closure">回调函数</param>
1300+ /// <returns>当前容器对象</returns>
1301+ public static IContainer OnResolving < TWhere > ( Action < TWhere > closure )
1302+ {
1303+ return Handler . OnResolving ( closure ) ;
1304+ }
1305+
1306+ /// <summary>
1307+ /// 当服务被解决时,生成的服务会经过注册的回调函数
1308+ /// </summary>
1309+ /// <param name="closure">回调函数</param>
1310+ /// <returns>当前容器对象</returns>
1311+ public static IContainer OnResolving < TWhere > ( Action < IBindData , TWhere > closure )
1312+ {
1313+ return Handler . OnResolving ( closure ) ;
1314+ }
1315+
1316+ /// <summary>
1317+ /// 当服务被解决事件之后的回调
1318+ /// </summary>
1319+ /// <param name="closure">闭包</param>
1320+ /// <returns>当前容器</returns>
1321+ public static IContainer OnAfterResolving ( Action < IBindData , object > closure )
1322+ {
1323+ return Handler . OnAfterResolving ( closure ) ;
1324+ }
1325+
1326+ /// <summary>
1327+ /// 当服务被解决事件之后的回调
1328+ /// </summary>
1329+ /// <param name="closure">闭包</param>
1330+ /// <returns>当前容器</returns>
1331+ public static IContainer OnAfterResolving ( Action < object > closure )
1332+ {
1333+ return Handler . OnAfterResolving ( closure ) ;
1334+ }
1335+
1336+ /// <summary>
1337+ /// 当服务被解决事件之后的回调
1338+ /// </summary>
1339+ /// <typeparam name="TWhere">筛选条件</typeparam>
1340+ /// <param name="closure">闭包</param>
1341+ /// <returns>当前容器</returns>
1342+ public static IContainer OnAfterResolving < TWhere > ( Action < TWhere > closure )
1343+ {
1344+ return Handler . OnAfterResolving ( closure ) ;
1345+ }
1346+
1347+ /// <summary>
1348+ /// 当服务被解决事件之后的回调
1349+ /// </summary>
1350+ /// <typeparam name="TWhere">筛选条件</typeparam>
1351+ /// <param name="closure">闭包</param>
1352+ /// <returns>当前容器</returns>
1353+ public static IContainer OnAfterResolving < TWhere > ( Action < IBindData , TWhere > closure )
1354+ {
1355+ return Handler . OnAfterResolving ( closure ) ;
1356+ }
1357+
12541358 /// <summary>
12551359 /// 关注指定的服务,当服务触发重定义时调用指定对象的指定方法
12561360 /// <param>调用是以依赖注入的形式进行的</param>
0 commit comments