有没有办法检查ParameterInfo
是否是集合?
我已经试过了:
ConstructorInfo[] constructorInfos = typeof(T).GetConstructors();
ConstructorInfo constructorInfo = constructorInfos[0];
ParameterInfo[] paramsVar = constructorInfo.GetParameters();
IEnumerable<ParameterInfo> collectionParams = paramsVar.Where(
x => x.ParameterType.GetElementType() is ICollection);
但它不起作用。有任何想法吗?
最佳答案
尝试这个:
ConstructorInfo[] constructorInfos = typeof(T).GetConstructors();
ConstructorInfo constructorInfo = constructorInfos[0];
ParameterInfo[] paramsVar = constructorInfo.GetParameters();
IEnumerable<ParameterInfo> collectionParams = paramsVar.Where(
x => typeof(ICollection).IsAssignableFrom(x.ParameterType));
(请注意,我已经删除了
GetElementType
调用并切换了typeof(ICollection)
和x.ParameterType
)关于c# - 如何判断ParameterInfo类型是否为集合?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18275886/