API Reference

Class

MapiPropertyPatch

Namespace OfficeIMO.Email
Assembly OfficeIMO.Email
Modifiers sealed

Ordered typed changes applied after normal semantic projection when an EmailDocument is written. This lets advanced callers override or remove exact MAPI properties without replacing unrelated raw state.

Inheritance

  • Object
  • MapiPropertyPatch

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Constructors

Methods

public MapiPropertyPatch Append(MapiPropertyPatch patch) #
Returns: MapiPropertyPatch

Appends a snapshot of another patch's ordered changes.

Parameters

patch OfficeIMO.Email.MapiPropertyPatch requiredposition: 0
public Void Apply(MapiPropertyBag bag) #
Returns: Void

Applies the patch directly to a mutable raw property bag.

Parameters

bag OfficeIMO.Email.MapiPropertyBag requiredposition: 0
public MapiPropertyPatch Remove(MapiPropertyKey key) #
Returns: MapiPropertyPatch

Stages removal of every raw value with one canonical identity.

Parameters

key OfficeIMO.Email.MapiPropertyKey requiredposition: 0
Set``1 2 overloads
public MapiPropertyPatch Set<T>(MapiPropertyKey<T> key, T value, Nullable<UInt32> flags = null) #
Returns: MapiPropertyPatch

Stages a typed set using the key's preferred wire type.

Type Parameters

T

Parameters

key OfficeIMO.Email.MapiPropertyKey{``0} requiredposition: 0
value ``0 requiredposition: 1
flags System.Nullable{System.UInt32} = null optionalposition: 2
public MapiPropertyPatch Set<T>(MapiPropertyKey<T> key, T value, MapiPropertyType wireType, Nullable<UInt32> flags = null) #
Returns: MapiPropertyPatch

Stages a typed set using an explicitly accepted wire type.

Type Parameters

T

Parameters

key OfficeIMO.Email.MapiPropertyKey{``0} requiredposition: 0
value ``0 requiredposition: 1
wireType OfficeIMO.Email.MapiPropertyType requiredposition: 2
flags System.Nullable{System.UInt32} = null optionalposition: 3

Properties

public IReadOnlyList<MapiPropertyPatchChange> Changes { get; } #

Ordered immutable view of the staged changes.

public Boolean IsEmpty { get; } #

Whether the patch has no changes.