2011-02-01 22 views
0

我的Outlook插件在同一個命名空間中有兩個部分類。一個是自定義表單區域,另一個是插件本身。我如何讓這兩個類共享數據?具體而言,ThisAddIn需要從FormRegion1獲取一些信息。Outlook插件和自定義表單區域:他們如何溝通?

// ThisAddIn.cs 
namespace My_AddIn { 
    public partial class ThisAddIn { 

// FormRegion1.cs 
namespace My_AddIn { 
    partial class FormRegion1 { 

我想我的問題是如何真正從的ThisAddIn獲得督察FormRegion1。我試過ThisAddIn類的Inspectors_NewInspector事件處理方法裏面的東西是這樣的:

Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem; 
if (mailItem != null) { 
    Outlook.Pages page = mailItem.GetInspector.ModifiedFormPages as Outlook.Pages; 
    // previous line causes unhandled COMException error ("the operation failed") 

Outlook.Pages page = Application.GetInspectors[mailItem].ModifiedFormPages["FormRegion1"]; 
// previous line causes unhandled COMException error ("type mismatch") 

沒有人有任何見解正確的方式來訪問FormRegion1?

回答

1

我找不到一個事件,其處理程序會讓ThisAddIn獲取對FormRegion1的引用(在FormRegion1實例化之前發現的所有事件)。我最終使用單例給ThisAddIn引用每個FormRegion1實例。

+0

你有你的代碼的例子嗎?我正在嘗試同樣的事情,但不熟悉寫singeltons。 – 2011-03-31 17:57:33

相關問題