LINQ: Поддерживать состояние «var» между вызовами методов? - PullRequest
0 голосов
/ 02 марта 2012

Хорошо, поэтому я использую linq, и поэтому у меня есть несколько объектов типа "var", создаваемых динамически, как в

var Order = CustomerDataContext.Order.Where (e => e.OrderPending)

и многим другим, как это, поэтому проблема в том, как я могу поддерживать этот "var" при вызовах методов, которые я использую ThreadPool.QueueUserForWorkItem(ProcessOrder, var) но этот метод принимает объект, и я не могу привести параметр обратно в тип Order. Кроме того, поскольку его var он даже не может быть объявлен как статический, так что я могу поддерживать состояние, так что мне делать? Как мне сохранить это var, или если я не могу, тогда как еще можно сделать то, что я делаю?

1 Ответ

2 голосов
/ 02 марта 2012

Цитата из здесь :

[var] Неявно типизированная локальная переменная строго типизирована, как если бы вы сами объявили тип, но компилятор определяет тип.

Вы не поддерживаете var тип.в вашем примере Order, вероятно, имеет тип IQueryable.var - это просто ярлык, поэтому вам не нужно указывать тип переменной и позволить компилятору это делать.Так что вы могли бы просто написать:

IQueryable<Order> Order = CustomerDataContext.Order.Where(e => e.OrderPending)
...