"' Copyright (c) 2008 Silken Web - Free BSD License" Comment '\n' Text.Whitespace "' All rights reserved." Comment '\n' Text.Whitespace "'" Comment '\n' Text.Whitespace "' Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:" Comment '\n' Text.Whitespace "' * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer" Comment '\n' Text.Whitespace "' * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution." Comment '\n' Text.Whitespace "' * Neither the name of Silken Web nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission." Comment '\n' Text.Whitespace "'" Comment '\n' Text.Whitespace '\' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,' Comment '\n' Text.Whitespace "' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS" Comment '\n' Text.Whitespace "' BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE" Comment '\n' Text.Whitespace "' GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT" Comment '\n' Text.Whitespace "' LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH" Comment '\n' Text.Whitespace "' DAMAGE." Comment '\n' Text.Whitespace '\n' Text.Whitespace 'Imports' Keyword ' ' Text.Whitespace 'System' Name.Namespace '.' Name.Namespace 'Net' Name.Namespace '.' Name.Namespace 'Mail' Name.Namespace '\n' Text.Whitespace 'Imports' Keyword ' ' Text.Whitespace 'SilkenWeb' Name.Namespace '.' Name.Namespace 'Entities' Name.Namespace '\n' Text.Whitespace 'Imports' Keyword ' ' Text.Whitespace 'System' Name.Namespace '.' Name.Namespace 'Text' Name.Namespace '.' Name.Namespace 'RegularExpressions' Name.Namespace '\n' Text.Whitespace 'Imports' Keyword ' ' Text.Whitespace 'System' Name.Namespace '.' Name.Namespace 'Reflection' Name.Namespace '\n' Text.Whitespace 'Imports' Keyword ' ' Text.Whitespace 'SilkenWeb' Name.Namespace '.' Name.Namespace 'Validation' Name.Namespace '\n' Text.Whitespace 'Imports' Keyword ' ' Text.Whitespace 'System' Name.Namespace '.' Name.Namespace 'Globalization' Name.Namespace '\n' Text.Whitespace 'Imports' Keyword ' ' Text.Whitespace 'SilkenWeb' Name.Namespace '.' Name.Namespace 'Reflection' Name.Namespace '\n\n' Text.Whitespace 'Namespace' Keyword ' ' Text.Whitespace 'SilkenWeb' Name.Namespace '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Represents an Email and what you can do with it." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Keith Jackson" Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' 11/04/2008" Comment '\n' Text.Whitespace ' ' Text.Whitespace "'''" Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' This class is intended to be inherrited for providing all manner of system generated emails, each represented by it's own class." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'MustInherit' Keyword ' ' Text.Whitespace 'Class' Keyword ' ' Text.Whitespace 'EmailBase' Name.Class ' ' Text.Whitespace ':' Punctuation ' ' Text.Whitespace 'Implements' Keyword ' ' Text.Whitespace 'IValidatable' Name ',' Punctuation ' ' Text.Whitespace 'IDisposable' Name '\n\n' Text.Whitespace '#Region " Constants "\n' Comment.Preproc '\n ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Const' Keyword ' ' Text.Whitespace 'LenientRegexPattern' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String '\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*' Literal.String '"' Literal.String '\n ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Const' Keyword ' ' Text.Whitespace 'StrictRegexPattern' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String '^(([^<>()[\\]\\\\.,;:\\s@\\' Literal.String '""' Literal.String ']+(\\.[^<>()[\\]\\\\.,;:\\s@\\' Literal.String '""' Literal.String ']+)*)|(\\' Literal.String '""' Literal.String '.+\\' Literal.String '""' Literal.String '))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$' Literal.String '"' Literal.String '\n ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Const' Keyword ' ' Text.Whitespace 'InvalidEmailAddressError' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String 'The Email address provided was invalid' Literal.String '"' Literal.String '\n ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Const' Keyword ' ' Text.Whitespace 'InvalidEmailAddressErrorWithAddress' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String 'The Email address, {0}, provided was invalid' Literal.String '"' Literal.String '\n ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Const' Keyword ' ' Text.Whitespace 'NullEmailAddressError' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '"' Literal.String 'The Email address was not provided' Literal.String '"' Literal.String '\n\n' Text.Whitespace '#End Region' Comment.Preproc '\n\n' Text.Whitespace '#Region " Fields "\n' Comment.Preproc '\n ' Text.Whitespace 'Private' Keyword ' ' Text.Whitespace 'disposedValue' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Boolean' Keyword.Type '\n\n ' Text.Whitespace 'Private' Keyword ' ' Text.Whitespace '_message' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'MailMessage' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'MailMessage' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'Private' Keyword ' ' Text.Whitespace '_mailClient' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'SmtpClient' Name '\n\n ' Text.Whitespace 'Private' Keyword ' ' Text.Whitespace '_useStrictValidation' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Boolean' Keyword.Type '\n\n' Text.Whitespace '#End Region' Comment.Preproc '\n\n' Text.Whitespace '#Region " Construction "\n' Comment.Preproc '\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Instantiates a new Email of the derived type." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The email address of the sender of the message.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The email addresses of the recipients of the message.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The subject of the message.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The body of the message.' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Protected' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'New' Name.Function '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'sender' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'subject' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'body' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'ParamArray' Keyword ' ' Text.Whitespace 'recipients' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'From' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'MailAddress' Name '(' Punctuation 'sender' Name ')' Punctuation '\n ' Text.Whitespace 'For' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'To' Keyword ' ' Text.Whitespace 'recipients' Name '.' Punctuation 'Length' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n ' Text.Whitespace '_message' Name '.' Punctuation 'To' Name '.' Punctuation 'Add' Name '(' Punctuation 'recipients' Name '(' Punctuation 'i' Name ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'Next' Keyword '\n ' Text.Whitespace '_message' Name '.' Punctuation 'Subject' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'subject' Name '\n ' Text.Whitespace '_message' Name '.' Punctuation 'Body' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'body' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n' Text.Whitespace '#End Region' Comment.Preproc '\n\n' Text.Whitespace '#Region " Properties "\n' Comment.Preproc '\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Gets the Attachments for the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Protected' Keyword ' ' Text.Whitespace 'Overridable' Keyword ' ' Text.Whitespace 'ReadOnly' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'Attachments' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'AttachmentCollection' Name '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'Attachments' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' The email addresses of the BCC recipients of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'BccRecipients' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'Bcc' Name '.' Punctuation 'ToAddressStringArray' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'Bcc' Name '.' Punctuation 'Clear' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'Bcc' Name '.' Punctuation 'Add' Name '(' Punctuation 'value' Name '.' Punctuation 'ToDelimitedString' Name '(' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' The body of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Protected' Keyword ' ' Text.Whitespace 'Overridable' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'Body' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'Body' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'Body' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'value' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' The email addresses of the CC recipients of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'CCRecipients' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'CC' Name '.' Punctuation 'ToAddressStringArray' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'CC' Name '.' Punctuation 'Clear' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'CC' Name '.' Punctuation 'Add' Name '(' Punctuation 'value' Name '.' Punctuation 'ToDelimitedString' Name '(' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Gets or Sets a flag to indicate if the body of the message is HTML." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'IsBodyHtml' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Boolean' Keyword.Type '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'IsBodyHtml' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Boolean' Keyword.Type ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'IsBodyHtml' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'value' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Gets the Mail message wrapped by the EmailBase class." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Protected' Keyword ' ' Text.Whitespace 'ReadOnly' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'Message' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'MailMessage' Name '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Gets or Sets the Priority of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'Priority' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'MailPriority' Name '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'Priority' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'MailPriority' Name ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'Priority' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'value' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' The email addresses of the recipients of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'Recipients' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'To' Name '.' Punctuation 'ToAddressStringArray' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'To' Name '.' Punctuation 'Clear' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'To' Name '.' Punctuation 'Add' Name '(' Punctuation 'value' Name '.' Punctuation 'ToDelimitedString' Name '(' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' The reply email address of the sender of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'ReplyTo' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name ' ' Text.Whitespace 'Is' Operator.Word ' ' Text.Whitespace 'Nothing' Keyword ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace 'String' Keyword.Type '.' Punctuation 'Empty' Name '\n ' Text.Whitespace 'Else' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name '.' Punctuation 'Address' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name ' ' Text.Whitespace 'Is' Operator.Word ' ' Text.Whitespace 'Nothing' Keyword ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'MailAddress' Name '(' Punctuation 'value' Name ')' Punctuation '\n ' Text.Whitespace 'Else' Keyword '\n ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'MailAddress' Name '(' Punctuation 'value' Name ',' Punctuation ' ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name '.' Punctuation 'DisplayName' Name ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' The reply display name of the sender of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'ReplyToDisplayName' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name ' ' Text.Whitespace 'Is' Operator.Word ' ' Text.Whitespace 'Nothing' Keyword ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace 'String' Keyword.Type '.' Punctuation 'Empty' Name '\n ' Text.Whitespace 'Else' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name '.' Punctuation 'DisplayName' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name ' ' Text.Whitespace 'Is' Operator.Word ' ' Text.Whitespace 'Nothing' Keyword ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'MailAddress' Name '(' Punctuation '_message' Name '.' Punctuation 'From' Name '.' Punctuation 'Address' Name ',' Punctuation ' ' Text.Whitespace 'value' Name ')' Punctuation '\n ' Text.Whitespace 'Else' Keyword '\n ' Text.Whitespace '_message' Name '.' Punctuation 'ReplyTo' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'MailAddress' Name '(' Punctuation '_message' Name '.' Punctuation 'ReplyTo' Name '.' Punctuation 'Address' Name ',' Punctuation ' ' Text.Whitespace 'value' Name ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' The email address of the sender of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Overridable' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'Sender' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'From' Name '.' Punctuation 'Address' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Protected' Keyword ' ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'From' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'MailAddress' Name '(' Punctuation 'value' Name ',' Punctuation ' ' Text.Whitespace '_message' Name '.' Punctuation 'From' Name '.' Punctuation 'DisplayName' Name ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' The display name of the sender of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Overridable' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'SenderDisplayName' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'From' Name '.' Punctuation 'DisplayName' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Protected' Keyword ' ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'From' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'MailAddress' Name '(' Punctuation '_message' Name '.' Punctuation 'From' Name '.' Punctuation 'Address' Name ',' Punctuation ' ' Text.Whitespace 'value' Name ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' The subject of the message." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Overridable' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'Subject' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_message' Name '.' Punctuation 'Subject' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Protected' Keyword ' ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '\n ' Text.Whitespace '_message' Name '.' Punctuation 'Subject' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'value' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n' Text.Whitespace '#End Region' Comment.Preproc '\n\n' Text.Whitespace '#Region " Methods "\n' Comment.Preproc '\n' Text.Whitespace '#Region " Send Methods "\n' Comment.Preproc '\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Sends this email" Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The SMTP server to use to send the email.' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'Send' Name.Function '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'mailServer' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '\n ' Text.Whitespace '_mailClient' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'SmtpClient' Name '(' Punctuation 'mailServer' Name ')' Punctuation '\n ' Text.Whitespace '_mailClient' Name '.' Punctuation 'Send' Name '(' Punctuation '_message' Name ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Sends this email asynchronously." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The SMTP server to use to send the email.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' A user defined token passed to the recieving method on completion of the asynchronous task.' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'SendAsync' Name.Function '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'mailServer' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'userToken' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Object' Keyword.Type ')' Punctuation '\n ' Text.Whitespace '_mailClient' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'SmtpClient' Name '(' Punctuation 'mailServer' Name ')' Punctuation '\n ' Text.Whitespace '_mailClient' Name '.' Punctuation 'SendAsync' Name '(' Punctuation '_message' Name ',' Punctuation ' ' Text.Whitespace 'userToken' Name ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Cancels an attempt to send this email asynchronously." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'SendAsyncCancel' Name.Function '(' Punctuation ')' Punctuation '\n ' Text.Whitespace '_mailClient' Name '.' Punctuation 'SendAsyncCancel' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n' Text.Whitespace '#End Region' Comment.Preproc '\n\n' Text.Whitespace '#End Region' Comment.Preproc '\n\n' Text.Whitespace '#Region " IValidatable Implementation "\n' Comment.Preproc '\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' gets and Sets a flag to indicate whether to use strict validation." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Property' Keyword ' ' Text.Whitespace 'UseStrictValidation' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Boolean' Keyword.Type '\n ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace '_useStrictValidation' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Get' Keyword '\n ' Text.Whitespace 'Set' Keyword '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'value' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Boolean' Keyword.Type ')' Punctuation '\n ' Text.Whitespace '_useStrictValidation' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'value' Name '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Set' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Property' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Validates this email." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' A ValidationResponse, containing a flag to indicate if validation was passed and a collection of Property Names and validation errors." Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Function' Keyword ' ' Text.Whitespace 'Validate' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'ValidationResponse' Name ' ' Text.Whitespace 'Implements' Keyword ' ' Text.Whitespace 'IValidatable' Name '.' Punctuation 'Validate' Name '\n\n ' Text.Whitespace 'Dim' Keyword ' ' Text.Whitespace 'retVal' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'New' Keyword ' ' Text.Whitespace 'ValidationResponse' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'Dim' Keyword ' ' Text.Whitespace 'mailRegEx' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'If' Keyword '(' Punctuation '_useStrictValidation' Name ',' Punctuation ' ' Text.Whitespace 'StrictRegexPattern' Name ',' Punctuation ' ' Text.Whitespace 'LenientRegexPattern' Name ')' Punctuation '\n\n ' Text.Whitespace 'ValidateAddress' Name '(' Punctuation '"' Literal.String 'Sender' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'retVal' Name ',' Punctuation ' ' Text.Whitespace 'mailRegEx' Name ',' Punctuation ' ' Text.Whitespace 'True' Keyword ')' Punctuation '\n ' Text.Whitespace 'ValidateAddresses' Name '(' Punctuation '"' Literal.String 'Recipients' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'retVal' Name ',' Punctuation ' ' Text.Whitespace 'mailRegEx' Name ',' Punctuation ' ' Text.Whitespace 'True' Keyword ')' Punctuation '\n ' Text.Whitespace 'ValidateAddresses' Name '(' Punctuation '"' Literal.String 'CcRecipients' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'retVal' Name ',' Punctuation ' ' Text.Whitespace 'mailRegEx' Name ')' Punctuation '\n ' Text.Whitespace 'ValidateAddresses' Name '(' Punctuation '"' Literal.String 'BccRecipients' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'retVal' Name ',' Punctuation ' ' Text.Whitespace 'mailRegEx' Name ')' Punctuation '\n ' Text.Whitespace 'ValidateAddress' Name '(' Punctuation '"' Literal.String 'ReplyTo' Literal.String '"' Literal.String ',' Punctuation ' ' Text.Whitespace 'retVal' Name ',' Punctuation ' ' Text.Whitespace 'mailRegEx' Name ')' Punctuation '\n\n ' Text.Whitespace 'Return' Keyword ' ' Text.Whitespace 'retVal' Name '\n\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Function' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Validates a single Email Address property." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The name of the property to validate.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The validation response object.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The regular expression pattern to use for validation.' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Private' Keyword ' ' Text.Whitespace 'Overloads' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'ValidateAddress' Name.Function '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'propertyName' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByRef' Keyword ' ' Text.Whitespace 'retVal' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'ValidationResponse' Name ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'mailRegEx' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '\n ' Text.Whitespace 'ValidateAddress' Name '(' Punctuation 'propertyName' Name ',' Punctuation ' ' Text.Whitespace 'retVal' Name ',' Punctuation ' ' Text.Whitespace 'mailRegEx' Name ',' Punctuation ' ' Text.Whitespace 'False' Keyword ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Validates a single Email Address property." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The name of the property to validate.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The validation response object.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The regular expression pattern to use for validation.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' Indicates if the address is required; False if not specified.' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Private' Keyword ' ' Text.Whitespace 'Overloads' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'ValidateAddress' Name.Function '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'propertyName' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByRef' Keyword ' ' Text.Whitespace 'retVal' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'ValidationResponse' Name ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'mailRegEx' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'required' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Boolean' Keyword.Type ')' Punctuation '\n\n ' Text.Whitespace 'Dim' Keyword ' ' Text.Whitespace 'emailAddress' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ReflectionHelper' Name '.' Punctuation 'Properties' Name '.' Punctuation 'GetProperty' Name '(' Punctuation 'Of' Keyword ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '(' Punctuation 'Me' Keyword ',' Punctuation ' ' Text.Whitespace 'propertyName' Name ')' Punctuation '\n\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace 'emailAddress' Name ' ' Text.Whitespace 'Is' Operator.Word ' ' Text.Whitespace 'Nothing' Keyword ' ' Text.Whitespace 'OrElse' Operator.Word ' ' Text.Whitespace 'emailAddress' Name '.' Punctuation 'Length' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace 'required' Name ' ' Text.Whitespace 'Then' Keyword ' ' Text.Whitespace 'retVal' Name '.' Punctuation 'Add' Name '(' Punctuation 'New' Keyword ' ' Text.Whitespace 'KeyValuePair' Name '(' Punctuation 'Of' Keyword ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '(' Punctuation 'propertyName' Name ',' Punctuation ' ' Text.Whitespace 'NullEmailAddressError' Name ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'Else' Keyword '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace '(' Punctuation 'Not' Keyword ' ' Text.Whitespace 'Regex' Name '.' Punctuation 'IsMatch' Name '(' Punctuation 'emailAddress' Name ',' Punctuation ' ' Text.Whitespace 'mailRegEx' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace 'retVal' Name '.' Punctuation 'Add' Name '(' Punctuation 'New' Keyword ' ' Text.Whitespace 'KeyValuePair' Name '(' Punctuation 'Of' Keyword ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '(' Punctuation 'propertyName' Name ',' Punctuation ' ' Text.Whitespace 'InvalidEmailAddressError' Name ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Validates a string array of Email Address property." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The name of the property to validate.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The validation response object.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The regular expression pattern to use for validation.' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Private' Keyword ' ' Text.Whitespace 'Overloads' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'ValidateAddresses' Name.Function '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'propertyName' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByRef' Keyword ' ' Text.Whitespace 'retVal' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'ValidationResponse' Name ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'mailRegEx' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '\n ' Text.Whitespace 'ValidateAddresses' Name '(' Punctuation 'propertyName' Name ',' Punctuation ' ' Text.Whitespace 'retVal' Name ',' Punctuation ' ' Text.Whitespace 'mailRegEx' Name ',' Punctuation ' ' Text.Whitespace 'False' Keyword ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' Validates a string array of Email Address property." Comment '\n' Text.Whitespace ' ' Text.Whitespace "''' " Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The name of the property to validate.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The validation response object.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' The regular expression pattern to use for validation.' Comment '\n' Text.Whitespace ' ' Text.Whitespace '\'\'\' Indicates if the address is required; False if not specified.' Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Private' Keyword ' ' Text.Whitespace 'Overloads' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'ValidateAddresses' Name.Function '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'propertyName' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByRef' Keyword ' ' Text.Whitespace 'retVal' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'ValidationResponse' Name ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'mailRegEx' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'ByVal' Keyword ' ' Text.Whitespace 'required' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Boolean' Keyword.Type ')' Punctuation '\n\n ' Text.Whitespace 'Dim' Keyword ' ' Text.Whitespace 'emailAddresses' Name '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'String' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'ReflectionHelper' Name '.' Punctuation 'Properties' Name '.' Punctuation 'GetProperty' Name '(' Punctuation 'Of' Keyword ' ' Text.Whitespace 'String' Keyword.Type '(' Punctuation ')' Punctuation ')' Punctuation '(' Punctuation 'Me' Keyword ',' Punctuation ' ' Text.Whitespace 'propertyName' Name ')' Punctuation '\n\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace 'emailAddresses' Name ' ' Text.Whitespace 'Is' Operator.Word ' ' Text.Whitespace 'Nothing' Keyword ' ' Text.Whitespace 'OrElse' Operator.Word ' ' Text.Whitespace 'emailAddresses' Name '.' Punctuation 'Length' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace 'required' Name ' ' Text.Whitespace 'Then' Keyword ' ' Text.Whitespace 'retVal' Name '.' Punctuation 'Add' Name '(' Punctuation 'New' Keyword ' ' Text.Whitespace 'KeyValuePair' Name '(' Punctuation 'Of' Keyword ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '(' Punctuation 'propertyName' Name ',' Punctuation ' ' Text.Whitespace 'String' Keyword.Type '.' Punctuation 'Format' Name '(' Punctuation 'CultureInfo' Name '.' Punctuation 'CurrentCulture' Name ',' Punctuation ' ' Text.Whitespace 'NullEmailAddressError' Name ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'Else' Keyword '\n ' Text.Whitespace 'For' Keyword ' ' Text.Whitespace 'i' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Integer' Keyword.Type ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace '0' Literal.Number.Integer ' ' Text.Whitespace 'To' Keyword ' ' Text.Whitespace 'emailAddresses' Name '.' Punctuation 'Length' Name ' ' Text.Whitespace '-' Operator ' ' Text.Whitespace '1' Literal.Number.Integer '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace '(' Punctuation 'Not' Keyword ' ' Text.Whitespace 'Regex' Name '.' Punctuation 'IsMatch' Name '(' Punctuation 'emailAddresses' Name '(' Punctuation 'i' Name ')' Punctuation ',' Punctuation ' ' Text.Whitespace 'mailRegEx' Name ')' Punctuation ')' Punctuation ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace 'retVal' Name '.' Punctuation 'Add' Name '(' Punctuation 'New' Keyword ' ' Text.Whitespace 'KeyValuePair' Name '(' Punctuation 'Of' Keyword ' ' Text.Whitespace 'String' Keyword.Type ',' Punctuation ' ' Text.Whitespace 'String' Keyword.Type ')' Punctuation '(' Punctuation 'propertyName' Name ',' Punctuation ' ' Text.Whitespace 'String' Keyword.Type '.' Punctuation 'Format' Name '(' Punctuation 'CultureInfo' Name '.' Punctuation 'CurrentCulture' Name ',' Punctuation ' ' Text.Whitespace 'InvalidEmailAddressErrorWithAddress' Name ',' Punctuation ' ' Text.Whitespace 'emailAddresses' Name '(' Punctuation 'i' Name ')' Punctuation ')' Punctuation ')' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n ' Text.Whitespace 'Next' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n' Text.Whitespace '#End Region' Comment.Preproc '\n\n' Text.Whitespace '#Region " IDisposable Implementation "\n' Comment.Preproc '\n ' Text.Whitespace 'Protected' Keyword ' ' Text.Whitespace 'Overridable' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'Dispose' Name.Function '(' Punctuation 'ByVal' Keyword ' ' Text.Whitespace 'disposing' Name ' ' Text.Whitespace 'As' Operator.Word ' ' Text.Whitespace 'Boolean' Keyword.Type ')' Punctuation '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace 'Not' Keyword ' ' Text.Whitespace 'Me' Keyword '.' Punctuation 'disposedValue' Name ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace 'If' Keyword ' ' Text.Whitespace 'disposing' Name ' ' Text.Whitespace 'Then' Keyword '\n ' Text.Whitespace '_message' Name '.' Punctuation 'Dispose' Name '(' Punctuation ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n ' Text.Whitespace '_mailClient' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Nothing' Keyword '\n ' Text.Whitespace '_message' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'Nothing' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'If' Keyword '\n ' Text.Whitespace 'Me' Keyword '.' Punctuation 'disposedValue' Name ' ' Text.Whitespace '=' Operator ' ' Text.Whitespace 'True' Keyword '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n ' Text.Whitespace 'Public' Keyword ' ' Text.Whitespace 'Sub' Keyword ' ' Text.Whitespace 'Dispose' Name.Function '(' Punctuation ')' Punctuation ' ' Text.Whitespace 'Implements' Keyword ' ' Text.Whitespace 'IDisposable' Name '.' Punctuation 'Dispose' Name '\n ' Text.Whitespace "' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above." Comment '\n' Text.Whitespace ' ' Text.Whitespace 'Dispose' Name '(' Punctuation 'True' Keyword ')' Punctuation '\n ' Text.Whitespace 'GC' Name '.' Punctuation 'SuppressFinalize' Name '(' Punctuation 'Me' Keyword ')' Punctuation '\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Sub' Keyword '\n\n' Text.Whitespace '#End Region' Comment.Preproc '\n\n ' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Class' Keyword '\n\n' Text.Whitespace 'End' Keyword ' ' Text.Whitespace 'Namespace' Keyword '\n' Text.Whitespace