Мои две версии следующих деклараций работают нормально.Делегат работает без создания экземпляра
1) Func<int,int,int> findMax=Max;
Console.WriteLine("Max={0}",findMax(10,20));
2)Func<int,int,int> findMax=new Func<int,int,int>(Max);
Console.WriteLine("Max={0}",findMax(10,20));
где
public static T Max<T>(T a, T b) where T:IComparable
{
if (a.CompareTo(b) > 0) return a;
else return b;
}
В листинге 2, я конкретизированных делегаты, но в листинге 1 я сделал not.How делает код отлично работает для листинга 1 без создания экземпляра делегата Func?
Противоположный. Я предполагаю, что Джон означал, что первый - синтаксический сахар для второго :), иначе это место. –
@ Øyvind: Исправлено, спасибо :) –