1.设置
using System.ComponentModel;
public class List_ParamsModel
{
[Description("开始时间")]
public string searchDateBeg { get; set; }
[Description("结束时间")]
public string searchDateEnd { get; set; }
}
2.获取
using System.Reflection;
using System.ComponentModel;
/// <summary>
/// 获取查询条件、获取属性注释及属性值
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public string GetConditions(List_ParamsModel model)
{
string condition = "查询条件:" +"\r\n";
//Type type = typeof(List_ParamsModel);//model.GetType()
//T t = (T)Activator.CreateInstance(type);
System.Reflection.PropertyInfo[] properties = model.GetType().GetProperties(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
if (properties.Length <= 0)
{
return "";
}
foreach (System.Reflection.PropertyInfo property in properties)
{
if (property.PropertyType.IsValueType || property.PropertyType.Name.StartsWith("String"))
{
string name = property.Name; //名称
object value = property.GetValue(model, null); //值
string des = "";
object[] objs = property.GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), true);
if (value != null && !string.IsNullOrEmpty(value.ToString()) && objs.Length > 0 && ((System.ComponentModel.DescriptionAttribute)objs[0]).Description != null)
{
des = ((System.ComponentModel.DescriptionAttribute)objs[0]).Description;
condition += des + ":" + value.ToString() + "\r\n";
}
}
}
return condition;
}