모든 Outlook 항목의 본문을 검색하고 싶습니다. 4 가지 PIM 항목 (Notes/Tasks/Appointments/Contacts)에 대해이 작업을 수행하는 방법을 알고 있습니다. 그러나 COM 객체를 특정 항목 유형 (즉, ContactItem, AppointmentItem 등)으로 캐스팅하는 경우를 제외하고는 모두 코드가 동일합니다.Outlook Interop : 폴더의 모든 항목을 반복하는 방법
using Outlook = Microsoft.Office.Interop.Outlook
List SearchFolderItems(Outlook.Folder folder)
{
List results = new List();
foreach(object folderItem in folder.Items)
{
//GenericPIMItem is what I am wishing for
Outlook.GenericPIMItem item = (Outlook.GenericPIMItem)folderItem;
if(item.Body.ToLower().Contains("secret sauce"))
{
results.Add(item.Name);
}
}
}
몸은 내가 얻을하려는 네 PIM 항목의 일반적인 속성입니다 : 내 루프에서 같은 것을 할 수 있도록 이러한 PIM 항목에 대한 부모 클래스가있다. 부모 항목이 있습니까? 그렇지 않으면 API 디자인이 좋지 않은 것 같습니다. 부모 항목이있는 것처럼 보일 수 있도록 폴더 항목을 추상화 할 수 있다고 가정합니다. 또한 리플렉션을 사용하여이 작업을 수행하려고 시도했지만 실제로는 얻을 수 없습니다.
어떤 제안이라도 있습니까?