私はOutlookアドイン用に同じ名前空間に2つの部分クラスを持っています。 1つはカスタムフォーム領域用で、もう1つはアドイン自体用です。これら2つのクラスがデータを共有できるようにするにはどうすればよいですか?具体的には、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にアクセスするための適切な方法に任意の洞察力を持っていますか?
コードの例はありますか?私は同じことをしようとしているが、シングルトンを書くことに慣れていない。 –
@Larry:適切なインスタンスの交渉に対処したくないので、私はそのアプローチもやめました(さもなければ、シングルトンはストレージの最新コピーを生成し、複数のウィンドウに分割します)。良い例のコード:http://csharpindepth.com/Articles/General/Singleton.aspx – wes
だから解決策は何ですか? – kavun