internal/classes/attributes/ValidateMailAddressAttribute.ps1

$validateMailAddressAttributeCode = @'
using System;
using System.Collections;
using System.Collections.Generic;
using System.Management.Automation;
using System.Text.RegularExpressions;

    public class ValidMailAddressException: Exception
    {
        public ValidMailAddressException()
        {

        }

        public ValidMailAddressException(string mailAddressException): base(string.Format("This is not valid mail address format '{0}'.", mailAddressException))
        {

        }
    }

    public class ValidateMailAddressAttribute : System.Management.Automation.ValidateArgumentsAttribute
    {
        protected override void Validate(object mailAddressList, EngineIntrinsics engineEntrinsics)
        {
            if(mailAddressList.GetType().IsArray) {
                string[] strMailAddressList = (string[])mailAddressList;
                foreach (string mailAddress in strMailAddressList)
                {
                    if (String.IsNullOrWhiteSpace(mailAddress.ToString()))
                    {
                        throw new ArgumentNullException();
                    }

                    var regexMailAddress = new Regex(@"@");

                    if (!regexMailAddress.IsMatch(mailAddress))
                    {
                        throw new ValidMailAddressException(mailAddress);
                    }
                }
            }
            else {
                string mailAddress = (string)mailAddressList;
                if (String.IsNullOrWhiteSpace(mailAddress.ToString()))
                {
                    throw new ArgumentNullException();
                }

                var regexMailAddress = new Regex(@"@");

                if (!regexMailAddress.IsMatch(mailAddress))
                {
                    throw new ValidMailAddressException(mailAddress);
                }
            }
        }
    }
'@

# compile c# code
Try {
    if ( [ValidateMailAddressAttribute] -as [type]) {

    }
}
catch {
    Add-Type -TypeDefinition $validateMailAddressAttributeCode
}