这对我来说似乎很奇怪:
if(customerList.Count > 0)
{
if(typeof(customerList[0]).IsReferenceType)
{
// do what I want
}
}
你会怎么做?
最佳答案
要确定列表中的第一项是否为引用类型的对象:
bool isReferenceType = !(customerList[0] is ValueType);
要确定列表是否是引用类型的某些
List<T>
的T
:var listType = customerList.GetType();
if (!listType.IsGeneric || listType.GetGenericTypeDefinition() != typeof(List<>))
// It’s not a List<T>
return null;
return !listType.GetGenericArguments()[0].IsValueType;