Я тут вот что подумал.... Дженерики были бы оптимальнее. Т.е. вместо массива [] я бы использовал какую-нибудь подходящую обобщенную коллекцию из Generic. Они заявлены в .NET 4 как thread-safe и оптимизированы для работы с памятью и GC.. Для меня это важно, ибо у меня программа обрабатывает список файлов в многопоточном контексте.
Добавлено через 6 минут
Народ, подскажите плз шо делать... есть такое:
Ооо... я тут не помощник точно. Не добрался еще до таких конструкций. Хотя...
Это делегат, возвращающий некоторое значение. В отличие от Action<T>, который получает на вход, а на выходе void. Я как раз это копал, когда пытался инициализацию через Array.ForEach() сделать.
Вызов Array.ForEach( T [], Action<T>) имеет такой вид. Где Action<T> - это void delegate(T t), или что-то типа
Func <T1, T2> похоже это T1 delegate(T2 t) или что-то наподобие, если я правильно понял.
Добавлено через 10 минут
Ага, вот:
http://msdn.microsoft.com/en-us/library/bb549151.aspx
Код:
public delegate TResult Func<in T, out TResult>( T arg )
Т и К местами поменяй.
Код:
public T GetById<T, K>(K id)
{
return _dataContext.Entities.SingleOrDefault(e => MySingleOrDefault);
}
вот так:
Код:
public T GetById<K, T>(K id)
{
return _dataContext.Entities.SingleOrDefault(e => MySingleOrDefault);
}
и должно соответствовать делегату типа TResult delegate Func<T, TResult>(T t)
Может я что-то не то пишу, но смсл в том, чтоб вид функции GetById привести к виду делегата, который она "использует". Я просто по аналогии с шаблонами и указателями на функции в С++ предположил.
Добавлено через 2 минуты
Блин... мне C# с каждым днем все больше и больше нравится.
Добавлено через 3 минуты
Ах, да. Func работает только .NET 3.5 +, судя по ремарке в МСДНе.
Пропаганда нацелена на удобрение дерева, на котором растет плод нашего воображения. (с)
При каждом пробитии дна открываются новые горизонты развития. (народная мудрость)
...зато рыночек, джинсы, жвачка, колбаса и можно заграницу ездить без отчета коммисару в райком.. oh, wait...
Цель капитализма всегда одна: Эксплуатация. Гнет. Война. Чтоб народных масс нищета и гибель ему несли максимальную прибыль!