2010-06-07 2 views
0

У меня есть некоторый код:Ошибка при использовании 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]; 

В последней строке у меня есть сообщение об ошибке: «Не удается неявно преобразовать тип„объект“в„Microsoft.Office.Interop.Outlook.MailItem“Явное. конверсия существует (вам не хватает роли?) ». Я не знаю почему. Ранее я использовал VisualStudio 2010, но мое судебное разбирательство истекло. Есть ли надежда на запуск этого приложения на SharpDevelop?

ответ

0

Это не похоже на ошибку SharpDevelop, похоже, что вам просто нужен актерский состав. Попробуйте это:

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

(это при условии, что объекты в filteredItems фактически этого типа Вы можете проверить, если это дело до этого задания.).

Кроме того, вы можете использовать Визуальный Studio 2010 Express - http://www.microsoft.com/express/

+0

Спасибо, это мне помогает. Но я уверен, что этот код работает в VS без приведения. Есть ли разница между этими инструментами? – Sebastian

+0

Ошибка, которую вы показываете, происходит от компилятора, а не от SharpDevelop или Visual Studio. Может быть, вы используете среду Mono с SharpDevelop? Это будет использовать другой компилятор, который может давать разные сообщения. Или, может быть, у вас просто разные настройки для одного и того же компилятора в двух средах разработки. –

Смежные вопросы