LinqKit bir uzantısı yöntem System.Collections.Generic.IEnumerable
ile çakışan IEnumerable
için ForEach
sahiptir.C# belirsiz uzantısı yöntemleri
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>)'
Bu hatadan nasıl kurtulabilirim?
- Eric Lippert'ın bir 'ForEach' uzatma yöntemi iyi bir fikir olmayabilir neden bazı büyük noktaları vardır ... Bu okunmaya değer var: http://blogs.msdn.com/b/ericlippert/archive /2009/05/18/foreach-vs-foreach.aspx –
Hangi sistem kütüphanesi 'System.Linq.EnumerableExtensionMethods' türedi? – StriplingWarrior
@ReedCopsey Lippert'in akıl yürütme mantıklıdır ve işlevsel programlamanın C# ile zayıf bir şekilde nasıl ilişkilendirildiğini yansıtır (örneğin, 'map' yerine 'select ',' foldl 'yerine' select 'yerine' foldr '). Scala, aksine, koleksiyonlar üzerinde yineleyen bir “for” ifadesine sahip olsa bile, bir “foreach” yöntemine sahiptir ... aslında “for” döngüsü foreach'a (diğer şeylerin yanı sıra) çağrıları genişletir. Scala, zorunlu bir kodlama stiline izin verir, ancak çeşitli şekillerde programcıları daha deneyimli hale geldiklerinde işlevsel bir stile doğru hareket etmeye teşvik eder. –