类型接口的IsInterface返回false
本文关键字:返回 false IsInterface 接口 类型 | 更新日期: 2023-09-27 18:21:48
我有一个方法,它为给定类型返回propertyInfo
。我使用接口的对象调用此方法,但type.IsInterface
返回false。
public IEnumerable<PropertyInfo> GetProperties(Type type)
{
if (!type.IsInterface)
return type.GetProperties();
return (new Type[] { type })
.Concat(type.GetInterfaces())
.SelectMany(i => i.GetProperties());
}
有人能告诉我这里出了什么问题吗?
我正在使用rhino-mock生成传递给该函数的接口mock。
这是代码,我是如何调用这个函数的。。。
var info = GetProperties(pCache.Data.GetType())
其中,Data是IdataCache.
的对象
PCache.Data是PCache.Data.GetType()的一个实例,它的类型不能是接口,必须是具体类型。
pCache.Data.GetType()将始终返回实例的类型,如果它是IdataCache,则IdataCache是一个具体类型