小记
/// <summary>
/// 整理所有 String 属性
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="model">要整理的实体</param>
/// <param name="bindingAttr">属性 BindingFlags</param>
public static void StringPropertiesNormalize<T>(this T model, BindingFlags bindingAttr = BindingFlags.Public | BindingFlags.Instance) where T : class
{
if (model is null)
{
throw new ArgumentNullException(nameof(model));
}
var stringProperties = typeof(T).GetProperties(bindingAttr).Where(p => p.PropertyType == typeof(string));
foreach (var strProp in stringProperties)
{
string value = strProp.GetValue(model)?.ToString().Trim() ?? string.Empty;
strProp.SetValue(model, value);
}
}