您好我需要檢查使用反射屬性是IEnumerable
類型但不IEnumerable的字符串和值類型,但只有IEnumerable的非字符串引用類型。檢查使用反射如果屬性是IEnumerable只有引用類型,但不是字符串或值類型
現在我的代碼部分:
private bool IsEnumerable(PropertyInfo propertyInfo)
{
return propertyInfo.PropertyType.GetInterfaces().Contains(typeof(IEnumerable)) &&
propertyInfo.PropertyType != typeof(string);
}
如果屬性爲IEnumerable<MyCustomType>
這是確定的,但如果它是IEnumerable<string>
我的方法應該返回false。
你想要[Type.GetGenericArguments](https://msdn.microsoft.com/en-us/library/system.type.getgenericarguments(v = vs.110).aspx) – Jonesopolis
如果它同時包含'IEnumerable < MyCustomType>'和'IEnumerable'? –
PetSerAl