ExpertiDict

C# · Avançado · Inglês · Técnico

source generator

/sɔrs ˈdʒɛnəˌreɪtɚ/substantivo

Componente do compilador Roslyn que inspeciona o código durante a compilação e gera novos arquivos C#, substituindo reflection em runtime e boilerplate repetitivo.

Onde usar

Aparece em System.Text.Json, Regex e logging, que geram código em tempo de build e funcionam com Native AOT e trimming. Usá-los troca custo de startup e reflexão por mais código gerado.

Em código

using System.Text.RegularExpressions;

partial class Validador
{
  [GeneratedRegex(@"^\d{3}-\d{4}$")]
  public static partial Regex Fone();
}

Exemplos

We replaced reflection with a source generator.

Trocamos reflection por um source generator.

The source generator emits the code at build time.

O source generator emite o código em tempo de build.

Cuidado

Não confunda com T4 ou geração por script: o gerador roda dentro do compilador e não pode alterar código existente, só adicionar.

Sinônimos

gerador de código

Veja também

Todos os termos de C#