Índice:
Definição - O que significa Static?
Static, em C #, é uma palavra-chave que pode ser usada para declarar um membro de um tipo para que seja específico para esse tipo. O modificador estático pode ser usado com uma classe, campo, método, propriedade, operador, evento ou construtor.
Um membro estático de uma classe pode ser usado para acompanhar as instâncias criadas e manter dados comuns a serem compartilhados entre todas as instâncias. Pode ser usado nas classes auxiliar e utilidade, que geralmente contêm métodos genéricos que contêm abstrações da lógica pura. Um construtor estático é usado para fazer entradas nos arquivos de log, bem como na classe wrapper para carregar as DLLs (bibliotecas de vínculo dinâmico) necessárias para executar o código não gerenciado.
Em geral, um modificador estático pode ser usado com dados e funções que não exigem que uma instância de uma classe seja acessada. É usado principalmente quando os dados e o comportamento de uma classe não dependem da identidade do objeto. O uso de classes e membros estáticos melhora a eficiência do código.
Techopedia explica Static
Um membro estático pode ser referenciado apenas pelo nome do tipo e não por uma instância do tipo. Static não pode ser usado com um destruidor, indexador ou qualquer outro tipo que não seja a classe.
Ao contrário de um campo de instância, que possui uma cópia separada para cada instância de uma classe, um campo estático (ou variável) é compartilhado por todas as instâncias de uma classe. Um método estático pode ser sobrecarregado, mas não substituído. Ele não pode acessar membros não estáticos. Como um método estático não é chamado com uma referência a uma instância, é mais rápido invocar um método estático na pilha de chamadas do que um método de instância.
Uma classe estática pode incluir apenas membros estáticos. Não pode ser instanciado em tempo de execução e não pode ser herdado. Tem sua vida útil como a do aplicativo em que reside. Um construtor estático não possui parâmetros e modificadores de acesso. É chamado automaticamente antes da criação da primeira instância ou da referência a qualquer membro estático.
Por exemplo, uma classe estática, TemperatureConverter, pode ser usada para converter a temperatura de Celsius em Fahrenheit e vice-versa, fornecendo dois métodos que contêm o código para conversão.
O uso de um modificador estático tem suas próprias limitações que incluem falta de segurança de encadeamento, encapsulamento e manutenção.
Esta definição foi escrita no contexto de C #
