/// <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) ) ); } }
/// <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()); } }
/// <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()); } }