LinqKit tiene un método de extensión ForEach
para IEnumerable
que choca con System.Collections.Generic.IEnumerable
.C# métodos de extensión ambiguos
Error 4 The call is ambiguous between the following methods or properties:
'LinqKit.Extensions.ForEach<Domain>(System.Collections.Generic.IEnumerable<Domain>, System.Action<Domain>)'
and
'System.Linq.EnumerableExtensionMethods.ForEach<Domain>(System.Collections.Generic.IEnumerable<Domain>, System.Action<Domain>)'
¿Cómo puedo eliminar este error?
En una nota al margen - Eric Lippert tiene algunos puntos excelentes acerca de por qué un método de extensión 'ForEach' podría no ser la mejor idea ... Vale la pena leer: http://blogs.msdn.com/b/ericlippert/archive /2009/05/18/foreach-vs-foreach.aspx –
Hablando de eso, ¿de qué biblioteca provienen 'System.Linq.EnumerableExtensionMethods'? – StriplingWarrior
@ReedCopsey El razonamiento de Lippert es falso y refleja cómo la programación funcional fue añadida a C#, mal (por ejemplo, 'select' en lugar de' map', 'aggregate' en lugar de' foldl', no 'foldr' en absoluto ...). Scala, por el contrario, tiene un método 'foreach' aunque tiene una instrucción' for' que itera sobre colecciones ... de hecho, el bucle 'for' se expande a llamadas a' foreach' (entre otras cosas). Scala permite un estilo de codificación imperativo, pero de diversas maneras alienta a los programadores a avanzar hacia un estilo funcional a medida que adquieren más experiencia. –