Я просто хочу, чтобы фильтровать почту с Ограничить-метод, как так:Outlook.Items Ограничить() странно поведение
restriction += "[ReceivedTime] < '" + ((DateTime)time).ToString("yyyy-MM-dd HH:mm") + "'";
var count = oFolder.Items.Restrict(restriction).Count;//Cast<object>().ToList();
for (int i = 0; i < count; i++)
{
var crntReceivedTime = ((OutLook.MailItem)oFolder.Items.Restrict(restriction).Cast<object>().ToList()[i]).ReceivedTime;
if (crntReceivedTime > time)
{
string t = "";
}
}
Теоретически линию string t = "";
никогда не следует называть, потому что я определил деталь никогда не имеет записи, значение ReceivedTime которых больше time
. Проблема заключается в вызове строки, что означает, что ограниченная коллекция элементов содержит записи, которые ее не должны содержать.
Я сделал что-то неправильно или Restrict()
-method просто не удалось?
К вашему первому пункту: Это было только для целей тестирования (все for loop), вот почему im использует способ с наименьшим кодом. Второй момент: Thats полное ограничение, я планирую добавить больше ограничений, вот почему я начинаю с 'ограничения =" ";' и чем продолжать добавлять больше. Но на данный момент эта первая строка является целым ограничением. –
Итак, какова была дата ограничения и что было значением ReceivedTime, которое не удовлетворяло ограничениям, но было возвращено, тем не менее? –
Дата ограничения была дата 2013-06-11 00:00, ReceivedTime - 2013-11-11 11:39. –