Comando nameof() C#(CSharp)
Postado em : 11/12/2023
Aprofundando o comando nameof()
em C#
O comando nameof()
é um recurso poderoso introduzido no C# 6.0. Ele retorna o nome de uma variável, tipo ou membro como uma string em tempo de compilação.
Facilidades
O nameof()
é útil em várias situações, incluindo:
- Lançamento de exceções: O
nameof()
ajuda a evitar erros de digitação ao lançar exceções, fornecendo uma maneira segura de obter o nome da variável que causou a exceção. - Implementação do INotifyPropertyChanged: O
nameof()
evita a necessidade de codificar manualmente o nome da propriedade como uma string, tornando o código mais limpo e menos propenso a erros. - Logs e rastreamento: O
nameof()
fornece uma maneira fácil de obter o nome do método ou classe atual, o que pode ser útil para rastreamento e depuração.
Vantagens
- Segurança de tipos: Como o
nameof()
é avaliado em tempo de compilação, ele oferece segurança de tipos. Se o nome do membro mudar durante a refatoração, o compilador emitirá um erro, evitando bugs sutis. - Manutenção de código: O
nameof()
reduz a necessidade de strings mágicas no código, tornando o código mais fácil de manter e menos propenso a erros.
Exemplos
Aqui estão alguns exemplos de como usar o nameof()
:
public class Exemplo { public string Nome { get; set; } public void MostrarNome() { Console.WriteLine(nameof(Nome)); } } public void Excecao() { throw new ArgumentNullException(nameof(Excecao)); } public enum DiasDaSemana { Domingo, Segunda, Terca, Quarta, Quinta, Sexta, Sabado } public void ExibirDia(DiasDaSemana dia) { Console.WriteLine(nameof(dia)); }
Conclusão
O comando nameof()
é uma adição valiosa ao C#. Ele aumenta a segurança de tipos, melhora a manutenibilidade do código e ajuda a evitar erros que podem surgir do uso de strings mágicas. É uma ferramenta simples, mas poderosa, que todo desenvolvedor C# deve ter em seu arsenal. Com o uso adequado do nameof()
, você pode escrever código mais robusto e fácil de manter.
Links Relacionados
- Arquitetura CQRS
- Arrays em C#(CSharp)
- C#(CSharp) Converter inteiro para Hexadecimal e Hexadecimal para Inteiro
- C#(CSharp) Exemplo de Conversão de um List<> de uma classe qualquer para um DataTable.
- C#(CSharp) Função para verificar se um determinado número é Primo
- Calcular Idade C# (CSharp), diferença anos entre duas datas
- Classe com Métodos de extensão C# (CSharp)
- Classe para Ler e Gravar Cookies - Asp.Net MVC 4 com C# (CSharp)
- Classe para tratar valores nulos vindos de nossa Query SQL, C#(CSharp).
- Classes anônimas em C#(CSharp)
- Comando NULLIF no SQLServer.
- Compare duas strings ignorando maiúsculas e minúsculas C#(CSharp).
- Configurar tempo de uma sessão em Asp.Net MVC
- Consulta SQLServer com paginação
- Criar Classes Dinâmicas usando DynamicObject e ExpandoObject em C# (CSharp)
- Definir o dia em um DateTime.
- DELETE CASCADE no SqlServer
- Desvendando o Poder da Função STRING_AGG no SQL Server para concatenação de dados
- Diferença entre parâmetros REF e OUT em C#(CSharp)
- DROP TABLE IF EXISTS no SQL Server.
- Emitir sons pelo auto-falante do computador em C# (CSharp)
- Estrangulando um monólito C#(CSharp)
- Exemplo de acesso a dados com SQL Server em C#.
- Exemplo de consulta em SqlServer para encontrar uma chave Estrangeira
- Explorando Tipos de Dados Personalizados no SqlServer: Utilidade e Impacto na Performance
- Extensões para DataReader, tratando valores de suas consultas SQL (DataReaderExtensions) C#(CSharp)
- Formatar CEP em C# (CSharp)
- Função para devolver data do próximo dia da semana informado C#(CSharp).
- Gerando números randômicos para sorteio de jogos de azar C#(CSharp)
- Grafana Loki e .NET Framework com C#
- Incrementando e decrementando variáveis em C#(CSharp)
- Injeção de dependência
- Ler string de conexão (connectionStrings) do arquivo Web.config Asp.Net MVC co C#(CSharp)
- Métodos de extensão C#
- O que é Camel Case e Pascal Case ?
- Ordenando um array com o comando OrderBy C#(CSharp)
- Padrão MVC
- Parar um loop foreach usando o comando break C#(CSharp).
- Recuperar a URL da página anterior em Asp.Net C# (CSharp)
- Recuperar a URL da página atual em Asp.Net C# (CSharp)
- Recuperar para código C# (CSharp) o valor de um componente de nossa página
- Retorna o IP da conexão do Cliente em Asp.Net MVC com C# (CSharp)
- Retorna os dados do Navegador do Cliente em Asp.Net MVC com C# (CSharp)
- Salvando CSV com cabeçalho no SQL Server Management Studio
- Separar String de caracteres C#(CSharp)
- Serilog e .NET Framework com C#
- Tipos de dados em C# (CSharp)
- Tipos de dados primitivos em C#(CSharp)
- Validando Valores nulos vindos de nosso Banco de Dados C#(CSharp)
- Validar Modelos com Data Annotation e Windows Form Application C#(CSharp)
- Verificar se uma string é um digito em C# (CSharp)