ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Either change the type of "xxx" to "yyy" or iterate on a generic collection of type "zzz". (e.g. make "element" a "Base".) ''' == Comments And Links (visible only on this page) === on 1 Jul 2015, 16:23:11 Ann Campbell wrote: \[~tamas.vajk] as I was writing this it occurred to me that someone might write this code thinking they were filtering the array (or whatever was being ``++foreach++``ed) so that the inner code would only be called for instances of the derived type. Am I correct in thinking that we can/should recommend LINQ usage to accomplish that? === on 2 Jul 2015, 06:52:37 Tamas Vajk wrote: \[~ann.campbell.2] Yes, you are right. If the dev wants to filter the list by type, the ``++arr.OfType()++`` should be used in the ``++foreach++``. === on 2 Jul 2015, 12:43:33 Ann Campbell wrote: Please double-check me [~tamas.vajk] === on 2 Jul 2015, 13:44:42 Tamas Vajk wrote: \[~ann.campbell.2] looks good. === on 29 Jul 2015, 11:59:55 Dinesh Bolkensteyn wrote: Eric Lippert says he implemented this rule on the C# compiler, but then removed it because of the huge amount of false positives in Microsoft's own C# code, so this should be "MAJOR" and "suspicious" at most. http://ericlippert.com/2013/07/22/why-does-a-foreach-loop-silently-insert-an-explicit-conversion/ endif::env-github,rspecator-view[]