Exemple #1
0
 /// <summary>
 /// 加载。
 /// </summary>
 /// <param name="list">用于存储的列表。</param>
 /// <param name="attributeProvider">特性提供者。</param>
 public static void Load(ParameterInfoList list, System.Reflection.ICustomAttributeProvider attributeProvider)
 {
     if (list == null || attributeProvider == null)
     {
         return;
     }
     foreach (var attribute in AttributeExtensions.GetCustomAttributes <CloudArgsAttribute>(attributeProvider, true))
     {
         if (attribute.Type == null)
         {
             continue;
         }
         list.AddRange(PropertyParameterInfo.As(
                           FastWrapper.GetProperties(attribute.Type, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance, true, true)
                           )
                       );
     }
 }
Exemple #2
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());
     }
 }
Exemple #3
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.PropertyInfo[] paramters, TypeExtensions.ConvertValue converValue, params object[] datas)
 {
     using (var binder = new ParameterInfoBinder(PropertyParameterInfo.As(paramters), converValue, datas)) {
         return(binder.ToArray());
     }
 }