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 😄