我使用以下代码获取ReSharper警告“可能多次枚举IEnumerable”:
public void Mymethod(IEnumerable<int> entities)
{
var enumerator = entities.GetEnumerator();
var entityType = entities.GetType();
}
正如在描述的多个*主题(以及http://confluence.jetbrains.net/display/ReSharper/Possible+multiple+enumeration+of+IEnumerable)中一样,ReSharper认识到查询运行了两次.
我的问题是,为什么“GetType()”语句被识别为查询.
有什么建议吗?
提前致谢.
解决方法:
这只是Resharper不够聪明. GetType不是虚方法,它不能影响IEnumerable.