Validar correo electrónico en C#

        /// <summary>
        /// Método para validar si una cadena cumple con la condición de ser correo electrónico.
        /// </summary>
        /// <param name="value">Valor a validar.</param>
        /// <returns>Resultado de la validación.</returns>
        public bool ValidateEmail(string value)
        {
            bool result = false;

            try
            {
                MailAddress mailAddress = new MailAddress(value);
                result = mailAddress.Address.Equals(value, StringComparison.OrdinalIgnoreCase);
            }
            catch (Exception)
            {
                result = false;
            }

            return result;
        }

 

Switch(Type) en C#

       private bool SwitchWithDataType(Type dataType, object value)
        {
            bool result = false;

            Dictionary<Type, Action> @switch = new Dictionary<Type, Action>
            {
                {
                    typeof(short), () => { result = TryParseToShort(value); }
                },
                {
                    typeof(int), () =>{ result= TryParseToInt(value); }
                },
                {
                    typeof(long), () =>{ result= TryParseToLong(value); }
                },
                {
                    typeof(string), ()=>{ result=  TryParseToString(value); }
                }
            };

            @switch[dataType]();

            return result;
        }