通过IEnumerable枚举共同对象集合
本文关键字:对象 集合 IEnumerable 枚举 通过 | 更新日期: 2023-09-27 18:08:01
我想迭代一个Outlook。选择(它是一个实现IEnumerable的集合)或Outlook。Items Collection(它也间接实现了IEnumerable)通过一个方法。方法参数可以是其中之一
我不知道如何正确地实现方法的参数。我已经说到这里了:
Outlook.Selection items1 = activeExplorer.Selection;
Outlook.Items items2 = currentFolder.Items;
// How can i input these as parameter into the method below?
// The Method to iterate looks like this so far:
private void MethodX<T>(IEnumerable<T> items)
{
foreach (var item in items)
{
//...
}
}
我不知道这是否可能,因为使用COM-Objects…也许还有别的办法?
作为对上面注释的回复-使用"for"循环,请尝试以下操作:
Outlook.Items items2 = currentFolder.Items;
for (int i = 1; i <= items2.Count; i++)
{
object item = items2[i];
Outlook.MailItem mailItem = (MailItem)item;
if (mailItem != null) //you can have objects other than MailItem
{
//use mailItem here
Marshal.ReleaseComObject(mailItem );
}
Marshal.ReleaseComObject(item);
}