namespace MsgReader.Mime.Traverse { /// /// This interface describes a MessageTraverser which is able to traverse a Message structure /// and deliver some answer given some question. /// /// This is the type of the answer you want to have delivered. /// This is the type of the question you want to have answered. public interface IQuestionAnswerMessageTraverser { /// /// Call this when you want to apply this traverser on a . /// /// The which you want to traverse. Must not be . /// The question /// An answer TAnswer VisitMessage(Message message, TQuestion question); /// /// Call this when you want to apply this traverser on a . /// /// The which you want to traverse. Must not be . /// The question /// An answer TAnswer VisitMessagePart(MessagePart messagePart, TQuestion question); } }