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参数值自动去空格相关推荐
- Copy++ 复制 PDF、CAJ 内容时,自动删除空格、空行,以及自动翻译[Win]
介绍: Copy++ 是一款帮助你去除复制 PDF.CAJ 内容时的空格.空行的小工具,另外还支持自动翻译功能,堪称论文神器. 自动合并换行 自动去除空格 自动翻译 所有的功能都是自动的,即只需要开着 ...
- html5中英文间自动空格,如何快速在文章中英文数字间自动添加空格
在中文.英文.数字之间用空格隔开,观感和阅读上显得更加分明,也就是说整体的排版会更加的好看,但是如果在编写文章的时候去添加,就会显得特别的繁琐和降低编辑或写作效率了,不过为了养成习惯,还是推荐在编写的 ...
- 去空格/去空白行在线工具
在线字符串去空格,在线计算,在线计算器,计算器在线计算 自动字符串前后去除空格,字符串中间去除空格,字符串去回车,换行,制表符
- 输入手机号码自动填充空格 变成3-4-4格式
电话号码3-4-4格式实现方式 在最近的开发中遇到将电话号码展示成3-4-4格式的需求(如:132 2222 3333这样子),乍一看这个要求挺简单的,因为只需要在满足长度的字符串固定位置加上相应的空 ...
- 【PHP】字符串去空格并将每个单词首字母转换成大写de多种解法
问题描述 编写camel_case方法,实现将字符串去掉空格,并将每个单词的第一个字母转换成大写. 例如: camel_case("hello case"); // => & ...
- js去空格的三种方法
2019独角兽企业重金招聘Python工程师标准>>> 方法一: 个人认为最好的方法.采用的是正则表达式,这是最核心的原理. 其次.这个方法使用了JavaScript 的protot ...
- SQL Server中的小技巧(重复、替换、截取、去空格、去小数点后的位数)
PS:随笔写的在SQL Server中要用到的 (重复.替换.截取.去空格.去小数点后的位数) /*---------------------------重复--------------------- ...
- python 多进程——使用进程池,多进程消费的数据)是一个队列的时候,他会自动去队列里依次取数据...
我的mac 4核,因此每次执行的时候同时开启4个线程处理: # coding: utf-8import time from multiprocessing import Pooldef long_ti ...
- 字符串操作:索引位置、去空格、替换字符串
指定字符的索引位置:s.indexOf().s.lastIndexOf() (以字符串s为例.第一次与最后一次出现的位置) 指定索引位置的字符:s.charAt() 去除前.后空格:s.trim() ...
最新文章
- 第二届清华大学项目管理精英训练营【敏捷个人】分享
- Data Partitioning Guidance
- Windows Server 2012下安装Hyper-V虚拟机
- Mybatis加入Ehcache支持
- 2021-05-21 matlab 傅里叶变换后恢复信号
- Java多线程的同步机制:synchronized
- 【CF1199 D,E, F】Welfare State // Matching vs Independent Set // Rectangle Painting 1
- 工作68:json校验工具
- Python 数据分析三剑客之 Pandas(三):算术运算与缺失值的处理
- [导入]关于:web.config 的配置说明
- 使用Dism++和Dism为优启通08PE添加驱动
- 在线OPML压缩工具
- 苹果手机换电池对手机有影响吗_网上预约手机上门换电池可靠吗?官方回应:售后也这么换!...
- python实现截取excel中的表格,生成图片
- 实现Word页面行数控制、公文排版就是那么精准
- 选择适合的Node js授权认证策略
- 我需要30部美或英剧的剧名
- 洛谷——P7583 [COCI2012-2013#1] DOM(java实现)
- CSS3实用效果大全
- 【android】绘制圆环的三种方式
热门文章
- 袁晖:C2B汽车电商模式创新
- Matplotlib for Python Developers
- 从ASP.NET传递参数给水晶报表
- 去除linux控制台光标
- Weblogic10 + EJB3入门教程(1):编写第一个无状态会话Bean(Stateless Session Bean)...
- 战神背光键盘如何关系_显瘦又有肌肉 神舟战神Z7MKP5GZ评测
- 剑指offer 算法 (代码的鲁棒性)
- Echarts之悬浮框中的数据排序
- HTML课堂笔记02-21
- IromPython .Net 的简介和第一个例子