csharp 修剪所有对象的字符串。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 修剪所有对象的字符串。相关的知识,希望对你有一定的参考价值。
// Use like this
MyObject obj = new MyObject();
ExtensionMethods.TrimAllStrings(obj);
public static class ExtensionMethods
{
public static void TrimAllStrings<TSelf>(this TSelf obj)
{
if (obj == null)
return;
BindingFlags flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy;
foreach (PropertyInfo p in obj.GetType().GetProperties(flags))
{
Type currentNodeType = p.PropertyType;
if (currentNodeType == typeof(String))
{
string currentValue = (string)p.GetValue(obj, null);
if (currentValue != null)
{
p.SetValue(obj, currentValue.Trim(), null);
}
}
// see http://stackoverflow.com/questions/4444908/detecting-native-objects-with-reflection
else if (currentNodeType != typeof(object) && Type.GetTypeCode(currentNodeType) == TypeCode.Object)
{
if (p.GetIndexParameters().Length == 0)
{
p.GetValue(obj, null).TrimAllStrings();
}
else
{
p.GetValue(obj, new Object[] { 0 }).TrimAllStrings();
}
}
}
}
}
以上是关于csharp 修剪所有对象的字符串。的主要内容,如果未能解决你的问题,请参考以下文章
修剪对象的最后 4 个字符 [关闭]
如何修剪数组中的所有字符串? [复制]
修剪 Laravel 中所有 Eloquent 模型的所有字符串属性
无法使用Javascript或JQuery修剪对象属性
在开始和结束时修剪所有特殊字符串[关闭]
可以将 Jackson 配置为从所有字符串属性中修剪前导/尾随空格吗?