2

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

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

谢谢

4

1 回答 1

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>
}
于 2012-06-01T22:47:16.550 回答