2010-06-07 5 views
0

J'ai un code:Erreur lors de l'utilisation SharpDevelop

Outlook.Application outLookApp = new Outlook.Application(); 
Outlook.Inspector inspector = outLookApp.ActiveInspector(); 
Outlook.NameSpace nameSpace = outLookApp.GetNamespace("MAPI"); 
Outlook.MAPIFolder inbox = nameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); 
String sCriteria = "[SenderEmailAddress] = '[email protected]'"; 
Outlook.Items filteredItems = inbox.Items.Restrict(sCriteria); 
// totaly sure that count > 0; 
Outlook.MailItem item = filteredItems[1]; 

Dans la dernière ligne je erreur: « Impossible de convertir implicitement le type « objet » à « Microsoft.Office.Interop.Outlook.MailItem » explicite. la conversion existe (manque-t-il un casting?) ". Je ne sais pas pourquoi. Précédent J'ai utilisé VisualStudio 2010, mais mon essai a expiré. Y a-t-il un espoir de lancer ceci sur SharpDevelop?

Répondre

0

Cela ne ressemble pas à une erreur SharpDevelop, il semble que vous ayez besoin d'une distribution. Essayez ceci:

Outlook.MailItem item = (Outlook.MailItem)filteredItems[1]; 

(ceci suppose que les objets filteredItems sont en fait de ce type Vous pouvez tester si tel est le cas avant cette affectation..)

En outre, vous pouvez utiliser Visual Studio 2010 Express - http://www.microsoft.com/express/

+0

Merci pour votre aide. Mais je suis assez sûr que ce code fonctionne en VS sans un casting. Y a-t-il une différence entre ces outils? – Sebastian

+0

L'erreur que vous montre provient du compilateur, pas SharpDevelop ou Visual Studio. Serait-ce que vous utilisez le framework Mono avec SharpDevelop? Cela utiliserait un compilateur différent qui pourrait donner des messages différents. Ou peut-être avez-vous simplement des paramètres différents pour le même compilateur dans les deux environnements de développement. –