Is it possible to define an anonymous implementation of IComparer?
I believe Java allows anonymous classes to be defined inline - does C#?
Looking at this code I want to define a custom IComparer
inline
public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>( this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IComparer<TKey> comparer )
As indicated in one of the comments below, .Net 4.5 allows this via a static method on the Comparer<> class, e.g. comparing two objects based on the value of a property in the class:
var comparer = Comparer<KilowattSnapshot>.Create( (k1, k2) => k1.Kilowatt.CompareTo(k2.Kilowatt) );
Obviously this can be used inline rather than assigned to a variable.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With