Esempio n. 1
0
 /// <summary>
 /// 构造参数列表。
 /// </summary>
 /// <param name="methodInfo">方法,为null时直接返回new object[0]</param>
 /// <param name="converValue">转换数据委托,默认为TypeExtensions.Convert。</param>
 /// <param name="datas">可用数据源。</param>
 /// <returns>返回参数列表。</returns>
 public static object[] BuildParameters(System.Reflection.MethodInfo methodInfo, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     if (methodInfo == null)
     {
         return(new object[0]);
     }
     return(BuildParameters(methodInfo.GetParameters(), converValue, datas));
 }
Esempio n. 2
0
 /// <summary>
 /// 构造参数列表。
 /// </summary>
 /// <param name="type">方法,为null时直接返回new object[0]</param>
 /// <param name="converValue">转换数据委托,默认为TypeExtensions.Convert。</param>
 /// <param name="datas">可用数据源。</param>
 /// <returns>返回参数列表。</returns>
 public static object[] BuildParameters(System.Type type, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     if (type == null)
     {
         return(new object[0]);
     }
     return(BuildParameters(GetProperties(type, BindingFlags.Public | BindingFlags.Instance, true, true), converValue, datas));
 }
Esempio n. 3
0
 /// <summary>
 /// 释放占用的资源。
 /// </summary>
 public void Dispose()
 {
     _datas          = null;
     _bodyData       = null;
     _convertValue   = null;
     _paramters      = null;
     _otherParamters = null;
     _tryGetValues   = null;
 }
Esempio n. 4
0
 /// <summary>
 /// 创建实ParameterInfoBinder例。
 /// </summary>
 /// <param name="paramters">参数列表。</param>
 /// <param name="convertValue">值转换器。</param>
 /// <param name="datas">数据列表。</param>
 public ParameterInfoBinder(System.Collections.Generic.IList <IParameterInfo> paramters, TypeExtensions.ConvertValue convertValue, object[] datas)
 {
     _paramters    = paramters;
     _convertValue = convertValue ?? ConvertValue_Default;
     Datas         = datas;
 }
Esempio n. 5
0
 /// <summary>
 /// 创建实ParameterInfoBinder例。
 /// </summary>
 public ParameterInfoBinder()
 {
     _convertValue = ConvertValue_Default;
 }
Esempio n. 6
0
 /// <summary>
 /// 构造参数对象。
 /// </summary>
 /// <param name="paramters">参数定义列表。</param>
 /// <param name="converValue">转换数据委托,默认为TypeExtensions.Convert。</param>
 /// <param name="datas">可用数据源。</param>
 /// <returns>返回参数对象。</returns>
 public static Symbol.Collections.Generic.NameValueCollection <object> BuildParameterObject(System.Collections.Generic.IList <IParameterInfo> paramters, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     using (var binder = new ParameterInfoBinder(paramters, converValue, datas)) {
         return(binder.ToObject());
     }
 }
Esempio n. 7
0
 /// <summary>
 /// 构造参数列表。
 /// </summary>
 /// <param name="methodInfo">方法,为null时直接返回null。</param>
 /// <param name="converValue">转换数据委托,默认为TypeExtensions.Convert。</param>
 /// <param name="datas">可用数据源。</param>
 /// <returns>返回参数列表。</returns>
 public static Symbol.Collections.Generic.NameValueCollection <object> BuildParameterObject(System.Reflection.MethodInfo methodInfo, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     if (methodInfo == null)
     {
         return(null);
     }
     return(BuildParameterObject(methodInfo.GetParameters(), converValue, datas));
 }
Esempio n. 8
0
 /// <summary>
 /// 构造参数列表。
 /// </summary>
 /// <param name="paramters">参数定义列表。</param>
 /// <param name="converValue">转换数据委托,默认为TypeExtensions.Convert。</param>
 /// <param name="datas">可用数据源。</param>
 /// <returns>返回参数列表。</returns>
 public static Symbol.Collections.Generic.NameValueCollection <object> BuildParameterObject(System.Reflection.PropertyInfo[] paramters, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     using (var binder = new ParameterInfoBinder(PropertyParameterInfo.As(paramters), converValue, datas)) {
         return(binder.ToObject());
     }
 }
Esempio n. 9
0
 /// <summary>
 /// 构造参数列表。
 /// </summary>
 /// <param name="type">方法,为null时直接返回null。</param>
 /// <param name="converValue">转换数据委托,默认为TypeExtensions.Convert。</param>
 /// <param name="datas">可用数据源。</param>
 /// <returns>返回参数列表。</returns>
 public static Symbol.Collections.Generic.NameValueCollection <object> BuildParameterObject(System.Type type, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     if (type == null)
     {
         return(null);
     }
     return(BuildParameterObject(GetProperties(type, BindingFlags.Public | BindingFlags.Instance, true, true), converValue, datas));
 }
Esempio n. 10
0
 /// <summary>
 /// 构造参数列表。
 /// </summary>
 /// <param name="paramters">参数定义列表。</param>
 /// <param name="converValue">转换数据委托,默认为TypeExtensions.Convert。</param>
 /// <param name="datas">可用数据源。</param>
 /// <returns>返回参数列表。</returns>
 public static object[] BuildParameters(System.Collections.Generic.IList <IParameterInfo> paramters, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     using (var binder = new ParameterInfoBinder(paramters, converValue, datas)) {
         return(binder.ToArray());
     }
 }
Esempio n. 11
0
 /// <summary>
 /// 构造参数列表。
 /// </summary>
 /// <param name="paramters">参数定义列表。</param>
 /// <param name="converValue">转换数据委托,默认为TypeExtensions.Convert。</param>
 /// <param name="datas">可用数据源。</param>
 /// <returns>返回参数列表。</returns>
 public static object[] BuildParameters(IParameterInfo[] paramters, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     using (var binder = new ParameterInfoBinder(paramters, converValue, datas)) {
         return(binder.ToArray());
     }
 }
Esempio n. 12
0
 /// <summary>
 /// 构造参数列表。
 /// </summary>
 /// <param name="paramters">参数定义列表。</param>
 /// <param name="converValue">转换数据委托,默认为TypeExtensions.Convert。</param>
 /// <param name="datas">可用数据源。</param>
 /// <returns>返回参数列表。</returns>
 public static object[] BuildParameters(System.Reflection.ParameterInfo[] paramters, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     using (var binder = new ParameterInfoBinder(MethodParameterInfo.As(paramters), converValue, datas)) {
         return(binder.ToArray());
     }
 }