thankyou for the hint, actually I have now the try catch blocks for each
type, but the code becomes a bit lengthy with 16 such blocks
"Ken Slovak - [MVP - Outlook]" wrote:
Or a Try...Catch block where if one item type cast fails another can be
tried.
--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm
"Sue Mosher [MVP-Outlook]" wrote in message
...
I'm not a C# programmer, but my understanding is that the right approach in
C# is to this kind of statement witih the Is operator to test for each
object class
if (Item is Ol.MailItem)
--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003
http://www.turtleflock.com/olconfig/index.htm
and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
http://www.outlookcode.com/jumpstart.aspx
"Renjith" wrote in message
...
Hello
When I do advanced search using the AdvancedSearch method, I get the
results
in the AdvancedSearch complete method. I am using C# to do this. But I
have
problem here. I am not able to get the type of the item that was returned
in
the result. For example it can be a MailItem or ContactItem. If I cast it
to
a mail item it will result in an exception. How can I find the type of the
item before casting it?
The code is given below.
private void outLookApp_AdvancedSearchComplete(Search searchObj)
{
applicationObject.AdvancedSearchComplete -= new
ApplicationEvents_11_AdvancedSearchCompleteEventHa ndler
(outLookApp_AdvancedSearchComplete);
string strZipFile = Path.GetTempFileName() + ".zip";
string[] strTempFiles = new string[searchObj.Results.Count];
for( int nCount = 0; nCount searchObj.Results.Count; nCount++)
{
MailItem item = (MailItem)searchObj.Results[nCount+1]; //This will throw
an exception if the item is not a MailItem
string strMailPath = Path.GetTempFileName() + ".msg";
item.SaveAs(strMailPath, OlSaveAsType.olMSG);
Helper.ZipFile(strMailPath,strZipFile);
strTempFiles[nCount] = strMailPath;
}
}