0

EWS-Items からすべての「カスタム プロパティ」を読み取りたいです。私はプロパティの名前を持っています (例: "duration" または "distance") が、私はそれらを作成しませんでした (私のクライアントは作成しました)。

「Item」クラスの「ExtendedProperties」を使用する必要があると思います。しかし、プロパティ セットで Item.Bind() を使用する場合、持っていない GUID を知る必要があります。Microsoft は次のように述べています ( http://msdn.microsoft.com/en-us/library/exchange/dd633697%28v=exchg.80%29.aspx ): 「拡張プロパティが使用されたときに使用された GUID から GUID 識別子を作成します。作成した。"

プロパティを作成していないため、これらの GUID はありません。唯一のチャンスは、特定のプロパティを設定せずに Item.Bind() を使用することだと思います。それはプロセスを遅くしますか (メールボックス内のすべてのアイテムに対してこれを呼び出す必要があります)?

私は基本的に次のような句で反復したいと思います: if (extendedProperty.PropertyDefinition.Name == "duration")

これを行う方法はありますか?

ありがとう

マーティン

4

1 に答える 1

1

PropertyDefinition とプロパティ タイプ (MapiPropertyType) を使用して、名前で回復を試みます。

//「duration」プロパティを検索

 Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition extendedPropertyDefinition =
    new Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition
        (DefaultExtendedPropertySet.Common, "duration", MapiPropertyType.String);    

    EmailMessage msgMod = EmailMessage.Bind(service, msgComplete.Id, 
                          new PropertySet(extendedPropertyDefinition));

    ExtendedPropertyCollection colProp = msgMod.ExtendedProperties;
    foreach (ExtendedProperty prop in colProp)
    {

       //Iterate properties

    }
于 2013-05-14T10:12:18.640 に答える