好的,所以我使用linq,因此我有一些动态创建的“var”类型对象,如
var Order = CustomerDataContext.Order.Where(e => e.OrderPending)
和许多其他人都这样,所以问题是如何在方法调用中维护这个“var”,我正在使用
ThreadPool.QueueUserForWorkItem(ProcessOrder, var)
但是此方法接受对象,我无法将参数中的后面强制转换回Order
类型。此外,由于它的var
甚至不能被声明为静态,所以我可以保持状态,所以我该怎么办?我应该如何维护这个var
,或者如果我不能,那么另一种方法是做我正在做的事情?
答案 0 :(得分:2)
引自here:
[var]隐式类型的局部变量是强类型的,就像你自己声明了类型一样,但是编译器确定了类型。
您不保留var
类型。在您的示例中,Order
可能是IQueryable
类型。 var只是一个快捷方式,因此您不必指定变量的类型并让编译器执行此操作。所以你可以写完:
IQueryable<Order> Order = CustomerDataContext.Order.Where(e => e.OrderPending)