Por que está acontecendo este erro?! )
  )
Por que está acontecendo este erro?! )
  )
Bom dia Mickael, tudo blz camarada?
Seu arquivo completo está assim?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
namespace CursoWindowsFormsBiblioteca.Classes
{
    public class Cliente
    {
        public class Unit
        {
            [Required(ErrorMessage = "Código do Cliente é obrigatório.")]
            public string Id { get; set; }        
            public string Nome { get; set; }
            public string NomePai { get; set; }
            public string NomeMae { get; set; }
            public bool TemPai { get; set; }
            public string Cpf { get; set; }
            public int Genero { get; set; }
            public string Cep { get; set; }
            public string Logradouro { get; set; }
            public string Complemento { get; set; }
            public string Bairro { get; set; }
            public string Cidade { get; set; }
            public string Estado { get; set; }
            public string Telefone { get; set; }
            public string Profissao { get; set; }
            public Double RendaFamiliar { get; set; }
            public void ValidaClasse()
            {
                ValidationContext context = new ValidationContext(this, serviceProvider: null, items: null);
                List<ValidationResult> results = new List<ValidationResult>();
                bool isValid = Validator.TryValidateObject(this, context, results, true);
                if (isValid == false)
                {
                    StringBuilder sbrErrors = new StringBuilder();
                    foreach (var validationResult in results)
                    {
                        sbrErrors.AppendLine(validationResult.ErrorMessage);
                    }
                    throw new ValidationException(sbrErrors.ToString());
                }
            }
        }
        public class List<T>
        {
            public List<Unit> ListUnit { get; set; }
        }
    }
}
Sua classe List está parametrizada com genérics? acredito que seja isso, pois a mensagem vc tenta fazer a conversão para otipo desta classe definida no arquivo.
Gravidade    Código    Descrição    Projeto    Arquivo    Linha    Estado de Supressão
Erro    CS1579    A instrução foreach não pode operar em variáveis do tipo 'Cliente.List<ValidationResult>' porque 'Cliente.List<ValidationResult>' não contém uma definição da extensão ou instância pública para 'GetEnumerator'    CursoWindowsFormsBiblioteca    C:\Users\andre\OneDrive\Desktop\windows-forms-parte-4-projeto-completo-aula-3\CursoWindowsFormsBiblioteca\Classes\Cliente.cs    42    Ativo
Altere na sua classe List para :
 public class List
        {
            public List<Unit> ListUnit { get; set; }
        }Ai a referência vai ser o lista da classe using System.Collections.Generic;.
Espero que tenha ajudado e, qualquer coisa, estamos à disposição!
Abraços e bons estudos 😄