Die Nachrichtenklasse (MessageClass) kann verwendet werden, um den Typ eines Outlook-Elements zu bestimmen. Dabei spielt es keine Rolle, ob es sich z.B. um ein MailItem oder ContactItem-Objekt handelt.
Dieses Snippet ermittelt die Nachrichtenklasse über einen Reflection-Aufruf.
// using System.Reflection; nicht vergessen!
// Konstanten für Nachrichtenklassen
public const string IPM_NOTE = "IPM.Note";
public const string IPM_POST = "IPM.Post";
public const string IPM_STICKYNOTE = "IPM.StickyNote";
public const string IPM_TASK = "IPM.Task";
public const string IPM_CONTACT = "IPM.Contact";
public const string IPM_APPOINTMENT = "IPM.Appointment";
public const string IPM_ACTIVITY = "IPM.Activity";
public const string IPM_DOCUMENT = "IPM.Document";
/// <summary>
/// Gibt die Nachrichtenklasse einer bestimmten Nachricht zurück.
/// </summary>
/// <param name="item">Nachrichtenobjekt</param>
/// <returns>Nachrichtenklasse (z.B. IPM.Note)</returns>
public string GetItemMessageClass(object item)
{
// Typ des Nachrichtenobjekts abrufen
Type itemType = item.GetType();
// Nachrichtenklasse ermitteln
string messageClass = (string)itemType.InvokeMember("MessageClass", BindingFlags.Public | BindingFlags.GetProperty | BindingFlags.Instance, null, item, new object[0] {});
// Nachrichtenklasse zurückgeben
return messageClass;
}
Kommentare zum Snippet