今天碰到个方法,参数类型是object,内部有SerializeUtil.JsonSerialize(value);或value.ToString()的逻辑,需要判断
// 使用
if (IsList(value.GetType()))
{
var a = SerializeUtil.JsonSerialize(value);
}
/// <summary>
/// 判断类型是否是集合类型
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
bool IsList(Type type)
{
if (typeof(System.Collections.IList).IsAssignableFrom(type))
{
return true;
}
foreach (var it in type.GetInterfaces())
{
if (it.IsGenericType && typeof(IList<>) == it.GetGenericTypeDefinition())
return true;
}
return false;
}