【问题标题】:Error when using SharpDevelop使用 SharpDevelop 时出错
【发布时间】:2010-06-07 22:06:26
【问题描述】:

我有一些代码:

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] = 'somebody@somewhare.com'";
Outlook.Items filteredItems = inbox.Items.Restrict(sCriteria);
// totaly sure that count > 0;
Outlook.MailItem item = filteredItems[1];

在最后一行我有错误:“无法将类型'object'隐式转换为'Microsoft.Office.Interop.Outlook.MailItem'。存在显式转换(您是否缺少演员表?)”。我不知道为什么。以前我使用 VisualStudio 2010,但我的试用版已过期。有没有希望在 SharpDevelop 上运行它?

【问题讨论】:

    标签: c# visual-studio outlook sharpdevelop


    【解决方案1】:

    这看起来不像是 SharpDevelop 错误,看起来您只需要一个演员表。试试这个:

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

    (这是假设filteredItems 中的对象实际上属于这种类型。您可能需要在分配之前测试是否是这种情况。)

    另外,您可以使用 Visual Studio 2010 Express - http://www.microsoft.com/express/

    【讨论】:

    • 谢谢这对我有帮助。但我很确定这段代码可以在没有演员表的情况下在 VS 中工作。这些工具有什么区别吗?
    • 您显示的错误来自编译器,而不是 SharpDevelop 或 Visual Studio。难道你正在使用带有 SharpDevelop 的 Mono 框架?这将使用可能给出不同消息的不同编译器。或者,您可能只是在两个开发环境中对同一个编译器有不同的设置。
    猜你喜欢
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多