Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么';sharpdevelop中的watch(观察)窗口是否显示此变量的值?_C#_Automation_Outlook_Sharpdevelop_Outlook Redemption - Fatal编程技术网

C# 为什么';sharpdevelop中的watch(观察)窗口是否显示此变量的值?

C# 为什么';sharpdevelop中的watch(观察)窗口是否显示此变量的值?,c#,automation,outlook,sharpdevelop,outlook-redemption,C#,Automation,Outlook,Sharpdevelop,Outlook Redemption,首先让我说,这段代码是在中开发的,代码运行正常,并给出了它应该得到的结果,但是要达到这一点在调试方面有点困难,因为watch窗口似乎不像我预期的那样显示值。 有人能告诉我是否应该做些什么来检查这个循环中的值吗 例如,mailItem.Subject的值在手表中显示为:Object不是Microsoft.Office.Interop.Outlook.\u mailItem(我对下划线有点困惑,因为我读到它只是一种命名约定,我相信我在整个项目中删除了下划线是出于我自己的喜好)但是我注意到手表上的ma

首先让我说,这段代码是在中开发的,代码运行正常,并给出了它应该得到的结果,但是要达到这一点在调试方面有点困难,因为watch窗口似乎不像我预期的那样显示值。 有人能告诉我是否应该做些什么来检查这个循环中的值吗

例如,
mailItem.Subject
的值在手表中显示为:Object不是
Microsoft.Office.Interop.Outlook.\u mailItem
(我对下划线有点困惑,因为我读到它只是一种命名约定,我相信我在整个项目中删除了下划线是出于我自己的喜好)但是我注意到手表上的mailItem显示为
系统。\uu ComObject
-这是我忘记的线索吗

//LOOPING THROUGH MAIL ITEMS IN THAT FOLDER.
foreach (Microsoft.Office.Interop.Outlook.MailItem mailItem in fldMailItems.Items)
{
    if (mailItem.Body != "")
    {
        MyMail mail = new MyMail();
    mail.Subject = (mailItem.Subject == null) ? string.Empty : mailItem.Subject;
    //mail.
    mailItems.Add(mail);
    }
}
为了进一步说明正在应用的问题,消息框按预期显示,但监视窗口并未显示属性SenderName是否存在-它将基类显示为value:object,其中
\u Identity
Identity
均为null,以及另一个非公共成员,其
m_objjecttodata map
的值也为null。
下面是一个导致同样头痛的例子:

    void ConnectOutlook()
    {
         session = new Redemption.RDOSession();
            session.Logon();
            inbox = session.GetDefaultFolder(rdoDefaultFolders.olFolderInbox);          
    }

    void DisconnectOutlook()
    {
        session.Logoff();
        session = null;
    }


    void MainFormLoad(object sender, EventArgs e)
    {
        try
        {

            ConnectOutlook();

            int i=0;
            foreach ( RDOMail mailItem in inbox.Items.Restrict("[MessageClass] = 'IPM.Note'"))
            {
                i++;
                MessageBox.Show(mailItem.SenderName);
            }

            ....

文件夹中的所有项目都会发生这种情况,还是只有一些项目会发生这种情况?您需要确保确实有一条常规消息,而不是一个报告项


这不适用于兑换,因为在兑换过程中,所有邮件项目(RDOReportItem、rdomeetingirItem等)都是从RDOMail派生的。

使用兑换时也会出现同样的问题RDOMail也会在观察窗口中错误显示。例如,如果我将mailItem.To作为一个监视项,它会显示对象不是Redemption.IRDOMail类型,但这是不正确的,因为这表明:MessageBox.Show(mailItem.To);我看不到所有邮件项目的任何属性,无论它是Outlook邮件项目还是Redemption RDOMail-它都是每个项目,无论是哪个文件夹。如果所有COM对象都出现这种情况,您确实需要联系SharpDevelop供应商。。。