Request参数值自动去空格
生活随笔
收集整理的這篇文章主要介紹了
Request参数值自动去空格
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/// <summary>/// TypeTrimHelper/// </summary>public static class TypeTrimHelper{/// <summary>/// 類型字典/// </summary>public static ConcurrentDictionary<Type, PropertyInfo[]> TypeDictionary= new ConcurrentDictionary<Type, PropertyInfo[]>();/// <summary>/// 獲取Type屬性/// </summary>/// <param name="type"></param>/// <returns></returns>public static PropertyInfo[] GetTypeProperties(Type type){PropertyInfo[] typeProperties = null;if (TypeDictionary.ContainsKey(type)){typeProperties = TypeDictionary[type];}else{typeProperties = type.GetProperties();TypeDictionary[type] = typeProperties;}return typeProperties;}private static bool HasNotAutoTrimSpacesAttribute(Type type){return type.GetCustomAttribute<NotAutoTrimSpacesAttribute>()!= null;}private static bool HasNotAutoTrimSpacesAttribute(PropertyInfo propertyInfo){return propertyInfo.GetCustomAttribute<NotAutoTrimSpacesAttribute>()!= null;}/// <summary>/// 去空格操作/// </summary>/// <param name="objType">類型</param>/// <param name="obj">當前對象</param>public static void TypeTrim(Type objType, object obj){if (HasNotAutoTrimSpacesAttribute(objType) || obj == null) { return; }PropertyInfo[] typeProperties = GetTypeProperties(objType);foreach (var typeProperty in typeProperties){if (HasNotAutoTrimSpacesAttribute(typeProperty)) { continue; }var cPropertyType = typeProperty.PropertyType;if (cPropertyType == typeof (string)){if (!typeProperty.CanWrite){continue;}string value = typeProperty.GetValue(obj) as string;if (value != null){typeProperty.SetValue(obj, value.Trim());}}else{if (cPropertyType.IsClass){if (cPropertyType.IsValueType){continue;}if (cPropertyType.GetInterface(typeof (IEnumerable).Name, false) != null){var values = typeProperty.GetValue(obj) as IEnumerable;if (values != null){var enumerator = values.GetEnumerator();while (enumerator.MoveNext()){if (enumerator.Current != null){var itemType = enumerator.Current.GetType();TypeTrim(itemType, enumerator.Current);}}}}else{TypeTrim(cPropertyType, typeProperty.GetValue(obj));}}}}}}
轉載于:https://www.cnblogs.com/huangzelin/p/10107075.html
總結
以上是生活随笔為你收集整理的Request参数值自动去空格的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R之ddlpy函数学习[转载]
- 下一篇: 开发函数计算的正确姿势 —— 使用 Fu