c# – 使用.GetType()可能多次枚举IEnumerable警告

我使用以下代码获取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.

上一篇:C# 获取麦克风音量并设置音量,获取扬声器音量


下一篇:c# – 如何告诉DataContract使用基类的GetEnumerator?