@@ -727,9 +727,16 @@ public static Func<TService> Factory<TService>(this IContainer container, params
727727 /// <typeparam name="TService">服务名或别名</typeparam>
728728 /// <param name="container">服务容器</param>
729729 /// <param name="closure">闭包</param>
730- public static void Extend < TService > ( this IContainer container , Func < object , IContainer , object > closure )
730+ public static void Extend < TService > ( this IContainer container , Func < TService , IContainer , object > closure )
731731 {
732- container . Extend ( container . Type2Service ( typeof ( TService ) ) , closure ) ;
732+ container . Extend ( container . Type2Service ( typeof ( TService ) ) , ( instance , c ) =>
733+ {
734+ if ( instance is TService )
735+ {
736+ return closure ( ( TService ) instance , c ) ;
737+ }
738+ return instance ;
739+ } ) ;
733740 }
734741
735742 /// <summary>
@@ -740,9 +747,16 @@ public static void Extend<TService>(this IContainer container, Func<object, ICon
740747 /// <typeparam name="TService">服务名或别名</typeparam>
741748 /// <param name="container">服务容器</param>
742749 /// <param name="closure">闭包</param>
743- public static void Extend < TService > ( this IContainer container , Func < object , object > closure )
750+ public static void Extend < TService > ( this IContainer container , Func < TService , object > closure )
744751 {
745- container . Extend ( container . Type2Service ( typeof ( TService ) ) , ( instance , _ ) => closure ( instance ) ) ;
752+ container . Extend ( container . Type2Service ( typeof ( TService ) ) , ( instance , _ ) =>
753+ {
754+ if ( instance is TService )
755+ {
756+ return closure ( ( TService ) instance ) ;
757+ }
758+ return instance ;
759+ } ) ;
746760 }
747761
748762 /// <summary>
0 commit comments