如何使用LINQBridge转换GetFuncType

时间:2012-06-01 22:07:39

标签: linq linqbridge

我有一个使用.net的客户端,我正在使用LINQBride和一些使用LINQ的现有代码。我对linq并不是很了解,但我想知道是否使用LINQBridge快速转换此表达式

DynamicMethod.CreateDelegate(Expression.GetFuncType(typeof(IDataReader), type));

由于

1 个答案:

答案 0 :(得分:2)

LinqBridge只实现Linq to Objects,它不支持表达式。但是你可以使用反射来实现类似的东西:

static Type GetFuncType(params Type[] typeArgs)
{
    string typeName = "System.Func`" + typeArgs.Length;
    Type genericTypeDef = typeof(Func<>).Assembly.GetType(typeName); // Func<,...,>
    return genericTypeDef.MakeGenericType(typeArgs); // Func<TArg1, ..., TResult>
}