如何创建返回int或日期或字符串的泛型函数

时间:2011-01-14 15:40:05

标签: c# generics expression expression-trees

我需要实现一个返回Expression<Func<MyObject, T>>的函数,其中T可以是整数,字符串或日期时间。 来电者不会知道T的类型。 我想要实现的是一个函数,它创建一个可以在Linq OrderBy函数中使用的谓词。 应该是这样的:

class FilterCreator {
   ...
   Expression<Func<MyObject, T>> getOrderExpression()
   {
   ...
   }
}

class Consumer{
   void mymethod()
   {
      var orderedList = MyList.OrderBy(filterCreator.getOrderExpression());
   }
}

1 个答案:

答案 0 :(得分:1)

泛型不是这样的。您必须让调用者知道T的类型或用对象替换T.