@@ -1997,7 +1997,7 @@ private object Build(BindData makeServiceBindData, object[] userParams)
19971997 /// <param name="makeServiceType">服务类型</param>
19981998 /// <param name="userParams">用户传入的构造参数</param>
19991999 /// <returns>服务实例</returns>
2000- private object CreateInstance ( Bindable makeServiceBindData , Type makeServiceType , object [ ] userParams )
2000+ protected virtual object CreateInstance ( Bindable makeServiceBindData , Type makeServiceType , object [ ] userParams )
20012001 {
20022002 if ( IsUnableType ( makeServiceType ) )
20032003 {
@@ -2008,19 +2008,30 @@ private object CreateInstance(Bindable makeServiceBindData, Type makeServiceType
20082008
20092009 try
20102010 {
2011- // 如果参数不存在那么在反射时不写入参数可以获得更好的性能
2012- if ( userParams == null || userParams . Length <= 0 )
2013- {
2014- return Activator . CreateInstance ( makeServiceType ) ;
2015- }
2016- return Activator . CreateInstance ( makeServiceType , userParams ) ;
2011+ return CreateInstance ( makeServiceType , userParams ) ;
20172012 }
20182013 catch ( Exception ex )
20192014 {
20202015 throw MakeBuildFaildException ( makeServiceBindData . Service , makeServiceType , ex ) ;
20212016 }
20222017 }
20232018
2019+ /// <summary>
2020+ /// 通过指定的类型构建服务实现
2021+ /// </summary>
2022+ /// <param name="makeServiceType">指定的服务类型</param>
2023+ /// <param name="userParams">用户自定义参数</param>
2024+ /// <returns>构建的服务实现</returns>
2025+ protected virtual object CreateInstance ( Type makeServiceType , object [ ] userParams )
2026+ {
2027+ // 如果参数不存在那么在反射时不写入参数可以获得更好的性能
2028+ if ( userParams == null || userParams . Length <= 0 )
2029+ {
2030+ return Activator . CreateInstance ( makeServiceType ) ;
2031+ }
2032+ return Activator . CreateInstance ( makeServiceType , userParams ) ;
2033+ }
2034+
20242035 /// <summary>
20252036 /// 获取服务绑定数据,如果数据为null则填充数据
20262037 /// </summary>
0 commit comments