У меня есть этот метод, который я хочу написать:Как написать метод расширения linq для всех типов?
public static IQueryable<TSource> CutTo<TSource>(this IQueryable<TSource> source, Func<int> func)
{
int index = func();
// here I can write something for all types or switch all
// the types and write code for every type
}
Что это самый простой способ, чтобы закодировать это для всех типов TSource?
Редактировать: Black Bear пишет, что это уже работает для всех типов, но это не так. Mono пишет так:
public static IQueryable<TSource> Where<TSource> (this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate)
{
Check.SourceAndPredicate (source, predicate);
return source.Provider.CreateQuery<TSource> (
StaticCall (
MakeGeneric (MethodBase.GetCurrentMethod(), typeof (TSource)),
source.Expression,
Expression.Quote (predicate)));
}
Это уже работает для всех типов – BlackBear
Что должно делать CutTo, и каково значение func и его возвращаемого значения? – Dirk