public static class ComplementEnumerable
{
public static IEnumerable<TResult> Select<TSource, TResult>(IEnumerable<TSource> source,
Func<TSource, TResult> selector)
foreach (TSource s in source)
yield return selector.Invoke(s);
}
public static float Average(IEnumerable<float> source)
double num1 = 0;
long num2 = 0;
foreach (float num3 in source)
num1 += num3;
num2++;
return (float)(num1 / (double) num2);
public static float Average<TSource>(IEnumerable<TSource> Source, Func<TSource, float> selector)
return ComplementEnumerable.Average(ComplementEnumerable.Select<TSource, float>(Source, selector));
public static IEnumerable<TSource> Where<TSource>(IEnumerable<TSource> source, Func<TSource, bool> selector)
if (selector.Invoke(s))
yield return s;
//public delegate TResult Func<TSource, TResult>(TSource source);
public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source,
public static float Average(this IEnumerable<float> source)
return (float)(num1 / (double)num2);
public static float Average<TSource>(this IEnumerable<TSource> Source, Func<TSource, float> selector)
public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source,
Func<TSource, bool> selector)
var r = ComplementEnumerable.Select(l, c =>
ComplementEnumerable.Select(ComplementEnumerable.Where(c.Notes, n =>
n.Date >= new DateTime(2007,4,1)), f => f.Note)
);
var h = l.Select(c => c.Notes.Where(n => n.Date >= new DateTime(2007,4,1)).Select(f => f.Note));
IEnumerable<IEnumerable<float>> t = ComplementEnumerable.Select<EleveENT, IEnumerable<float>>(l,
delegate(EleveENT c)
return ComplementEnumerable.Select<NoteENT, float>(ComplementEnumerable.Where<NoteENT>(c.Notes,
delegate(NoteENT n)
{ return n.Date >= new DateTime(2007,4,1); }
), delegate(NoteENT n)
{ return n.Note; }
});
L_0190: ldsfld class [System.Core]System.Func`2<class ConsoleApplication3.Program/EleveENT,
class [mscorlib]System.Collections.Generic.IEnumerable`1<float32>>
ConsoleApplication3.Program::<>9__CachedAnonymousMethodDelegate13
L_0195: brtrue.s L_01aa
L_0197: ldnull
L_0198: ldftn class [mscorlib]System.Collections.Generic.IEnumerable`1<float32>
ConsoleApplication3.Program::<Main>b__b(class ConsoleApplication3.Program/EleveENT)
L_019e: newobj instance void [System.Core]System.Func`2<class ConsoleApplication3.Program/EleveENT,
class [mscorlib]System.Collections.Generic.IEnumerable`1<float32>>::.ctor(object, native int)
L_01a3: stsfld class [System.Core]System.Func`2<class ConsoleApplication3.Program/EleveENT,
L_01a8: br.s L_01aa
L_01aa: ldsfld class [System.Core]System.Func`2<class ConsoleApplication3.Program/EleveENT,
L_01af: call class [mscorlib]System.Collections.Generic.IEnumerable`1<!!1>
ConsoleApplication3.ComplementEnumerable::Select<class ConsoleApplication3.Program/EleveENT,
class [mscorlib]System.Collections.Generic.IEnumerable`1<float32>>(
class [mscorlib]System.Collections.Generic.IEnumerable`1<!!0>,
class [System.Core]System.Func`2<!!0, !!1>)
L_01b4: stloc.3
L_01b5: ldloc.0
L_01b6: ldsfld class [System.Core]System.Func`2<class ConsoleApplication3.Program/EleveENT,
ConsoleApplication3.Program::<>9__CachedAnonymousMethodDelegate14
L_01bb: brtrue.s L_01d0
L_01bd: ldnull
L_01be: ldftn class [mscorlib]System.Collections.Generic.IEnumerable`1<float32>
ConsoleApplication3.Program::<Main>b__e(class ConsoleApplication3.Program/EleveENT)
L_01c4: newobj instance void [System.Core]System.Func`2<class ConsoleApplication3.Program/EleveENT,
L_01c9: stsfld class [System.Core]System.Func`2<class ConsoleApplication3.Program/EleveENT,
L_01ce: br.s L_01d0
L_01d0: ldsfld class [System.Core]System.Func`2<class ConsoleApplication3.Program/EleveENT,
L_01d5: call class [mscorlib]System.Collections.Generic.IEnumerable`1<!!1>
L_01da: stloc.s h
.custom instance void [System.Core]System.Runtime.CompilerServices.ExtensionAttribute::.ctor()
public static string ToString(this int entier)
return new StringBuilder("Nombre").Append(entier).ToString();
int i = 5;
Console.WriteLine(i.ToString());
public static class Complement
public static string ToString(this NoteENT maNote, bool isDate)
if (isDate)
return maNote.Date.ToShortDateString();
else
return maNote.Note.ToString();
public static class ComplementBis
...
NoteENT t = new NoteENT(){Note=5,Date=new DateTime(2007,10,1)};
Console.WriteLine(t.ToString(true));
The call is ambiguous between the following methods or properties:
'ConsoleApplication.Complement.ToString(ConsoleApplication.NoteENT, bool)'
and 'ConsoleApplication.ComplementBis.ToString(ConsoleApplication.NoteENT, bool)'
'Library1.Complement.ToString(ConsoleApplication.NoteENT, bool)'
and 'Library2.ComplementBis.ToString(ConsoleApplication.NoteENT, bool)'