ExpertiDict

C# · Intermediário · Inglês · Técnico

reflection

/rɪˈflɛkʃən/substantivo

Capacidade de inspecionar tipos, membros e atributos em tempo de execução e até invocá-los dinamicamente, usando System.Reflection e o objeto Type.

Onde usar

Aparece em frameworks de serialização, injeção de dependência e ORMs, que descobrem propriedades e construtores sem conhecer os tipos de antemão. É mais lenta que uma chamada direta e conflita com trimming e Native AOT.

Em código

var tipo = typeof(Pessoa);
foreach (var p in tipo.GetProperties())
  Console.WriteLine(p.Name); // Nome

class Pessoa
{
  public string Nome { get; set; } = "";
}

Exemplos

The serializer uses reflection to find the properties.

O serializador usa reflection para achar as propriedades.

Reflection is too slow for this hot path.

Reflection é lento demais para esse caminho quente.

Cuidado

Não use reflection em caminho quente por conveniência: cacheie o MemberInfo ou use source generators e delegates compilados.

Sinônimos

reflexão

Veja também

Todos os termos de C#