1

MailItemOutlook アドイン アプリケーションで作業していますが、オブジェクトのプロパティに正しくアクセスできません。たとえば、[To] ボックスに電子メール アドレスを入力すると、次のコードはデバッガーで値を返しません。

イミディエイト ウィンドウで受信者数のプロパティを調べようとすると、次のエラーが表示されます。

mailItem.Recipients.Count

「System.Linq.ParallelEnumerable.Count(System.Linq.ParallelQuery, System.Func)」は「メソッド」であり、指定されたコンテキストでは無効です

プロパティにアクセスするにはどうすればよいですか?

4

1 に答える 1

1

コマンド ウィンドウまたはイミディエイト ウィンドウは、Recipientsコレクションをobject特定の Outlook 埋め込み型 ( Outlook.Recipients) ではなく として表示します。これを解決する唯一の方法はdynamic、メンバーにアクセスする前に型を作成することです。

((object)MailItem.Recipients).Count次のエラーが発生します。

( 「System.Linq.ParallelEnumerable.Count(System.Linq.ParallelQuery, System.Func)」は「メソッド」であり、指定されたコンテキストでは無効です)。

((Outlook.Recipients)MailItem.Recipients).Countを使用するようにアドバイスする次のエラーが生成されますdynamic

埋め込まれた相互運用型 'Microsoft.Office.Interop.Outlook.Recipients' は、'MyOutlookAddIn.dll' と 'Outlook.dll' の両方で定義されています。このタイプのオブジェクトに対する一部の操作は、デバッグ中はサポートされていません。「Embed Interop Types」プロパティを false に設定してデバッグまたはビルドする場合は、このオブジェクトを「dynamic」型にキャストすることを検討してください。

これは、ComObjectsOutlook.Recipientsプロパティにアクセスするための目的です。

((dynamic)MailItem.Recipients).Count
于 2012-10-16T13:29:24.430 に答える