ExpertiDict

C# · Essencial · Inglês · Técnico

object initializer

/ˈɑbdʒɛkt ɪˈnɪʃəˌlaɪzɚ/substantivo

Sintaxe com chaves após new que atribui propriedades e campos acessíveis na criação do objeto, sem exigir um construtor para cada combinação de valores.

Onde usar

Deixa a construção de DTOs e configurações legível. Combinado com required e init, garante que os campos essenciais sejam preenchidos na criação.

Em código

var c = new Cliente { Nome = "Ana", Id = 3 };
var ids = new List<int> { 1, 2, 3 };
Console.WriteLine(c.Nome + ids.Count);
class Cliente {
  public string Nome { get; set; } = "";
  public int Id { get; set; }
}

Exemplos

Just use an object initializer instead of another constructor.

Use um object initializer em vez de outro construtor.

The collection initializer calls Add under the hood.

O collection initializer chama Add por baixo dos panos.

Cuidado

Não substitui validação: o construtor roda antes das atribuições, então invariantes que dependem das propriedades precisam ser checadas depois ou garantidas com required.

Sinônimos

inicializador de objeto

Veja também

Todos os termos de C#