Click or drag to resize
MimeKit

MimeIteratorCurrent Property

Get the current entity.

Namespace: MimeKit
Assembly: MimeKit (in MimeKit.dll) Version: 4.3.0
Syntax
C#
public MimeEntity Current { get; }

Property Value

MimeEntity
The current entity.

Implements

IEnumeratorTCurrent
Exceptions
ExceptionCondition
InvalidOperationException Either MoveNext has not been called or MoveNext has moved beyond the end of the message.
Remarks
After an iterator is created or after the Reset method is called, the MoveNext method must be called to advance the iterator to the first entity of the message before reading the value of the Current property; otherwise, Current throws a InvalidOperationException. Current also throws a InvalidOperationException if the last call to MoveNext returned false, which indicates the end of the message.
Example
C#
var attachments = new List<MimePart> ();
var multiparts = new List<Multipart> ();

using (var iter = new MimeIterator (message)) {
    // collect our list of attachments and their parent multiparts
    while (iter.MoveNext ()) {
        var multipart = iter.Parent as Multipart;
        var part = iter.Current as MimePart;

        if (multipart != null && part != null && part.IsAttachment) {
            // keep track of each attachment's parent multipart
            multiparts.Add (multipart);
            attachments.Add (part);
        }
    }
}

// now remove each attachment from its parent multipart...
for (int i = 0; i < attachments.Count; i++)
    multiparts[i].Remove (attachments[i]);
See Also