如何构建泛型类型参数

时间:2010-11-22 18:29:37

标签: generics parameters lambda types expression-trees

我有一个问题。 如何构建泛型类型参数? 我正在尝试构建一个表达式树,我有以下行来构建:

var expression = Expression
                .Lambda<Func<T, bool>>(
                    operation,
                    new ParameterExpression[] {parameter});

所以我希望在.Lambda&gt;中指定T的类型参数。但是类型参数T直到运行时才知道。

请帮忙。 感谢

1 个答案:

答案 0 :(得分:3)

好吧,你可以用通用方法编写它:

public Expression<Func<T,bool>> BuildExpression<T>(...)
{
    // Whatever you need to do
    var expression = Expression
            .Lambda<Func<T, bool>>(
                operation,
                new ParameterExpression[] {parameter});
}

...然后通过反射调用该方法。可替换地:

在不了解您的要求的情况下,很难就哪些是最合适的方法提出任何建议。请编辑您的问题以提供更多详细信息。