0

我有一种通用的修剪对象的通用方法

public static T GetTrimmedObject<T>(T model, bool isWantToEncodeStrings = false) where T : class
    {
        try
        {
            List<PropertyInfo> propertiesInfoCollection = model.GetType().GetProperties().ToList();
            foreach (PropertyInfo item in propertiesInfoCollection)
            {
                Type type = item.PropertyType;
                if (type == typeof(String))
                {
                    dynamic value = item.GetValue(model, null);
                    if (!String.IsNullOrWhiteSpace(value))
                    {
                        item.SetValue(model, isWantToEncodeStrings ? HttpUtility.HtmlEncode(value.Trim()) : value.Trim(), null);
                    }
                }
            }
            return model;
        }
        catch (Exception ex)
        {
            HandleAndLogException(ex, typeof(GlobalUtil));
            return model;
        }
    }

但是当属性是类的类型时,我想要递归调用,所以嵌套的类属性也会被清理。所以我的问题是如何检查相同的?

4

1 回答 1

0

您可以检查 Type.IsPrimitive 是否为类类型并递归调用给定类型的函数。

于 2013-09-12T11:20:14.950 回答