Tag Archives: Delegate

I Love C# – Prática Sintaxe

Implementação: Sintaxe

Boas práticas de uso geral do C#.

Algumas notações úteis para seguir:

Projeto

Deve seguir o nome do namespace.

Arquivo fonte

Deve ser sempre igual ao nome da classe.

Resource/Outros arquivos anexos

Utilize nome descritivo, utilizando nomenclatura pascal.

Namespace

Deve corresponder ao nome do projeto, notação pascal.

Exemplo: NomeEmpresa.NomeProjeto

WA.MyApp
WA.MyApp.UI

Classe

Notação pascal.

Classes (Inicia com maiúsculo e no singular) Pascal Casing.

Aluno.cs
Comercio.cs

É legal a notação padrão Java para nomear classes/métodos: Classes sempre iniciam com uppercase e métodos em lowercase.

Interface

Notação pascal, e prefixada por I.

Classe Generica e Tipo de parâmetro Generico

Utilize somente uma letra como T ou K.

Método

Notação pascal. Preferencialmente use um verbo.

Property

Notação pascal. Não deve haver Get ou Set como prefixo de properties.

Atributos

Sempre Privates e acessados por Properties. Notação camel. Não devem ser precedidos por “_”.

Consts e Variáveis estáticas

Segue o mesmo padrão de atributos.

Enumerator

Notação pascal para o tipo e os valores.

Event/Delegate

Mesmo que constantes.

Variáveis locais e Parâmetros

Notação camel, precedidos por p.

Evite nomeá-los numericamente:

pCont1
pCont2

Pascal Casing

strEmail
dteDataMatricula
intAlunoId
bitPrimeiroContato
sngTotal
dblTamanho
decTamanho
curTotal
binContrato

Ok! Um pouco sobre o Boas Práticas.

 

I Love C# – Boas Práticas {Events}

Implementação: Events

Boas práticas de uso geral do C#/Events.

Nomeie nossos eventos utilizando a definição PascalCase.

Utilize o sufixo EventHandler para o nome do delegate associado ao evento.

Parametros

Especifique dois parâmetros (sender, e):

  • O sender representa o obj que disparou o evento e deve ser sempre do tipo object, mesmo sendo possível utilizar um tipo especifico.
  • O estado associado com o evento é encapsulado em uma instância de um evento de classe chamado e.
public delegate void MouseEventHandler (object sender, MouseEventArgs e)
public event MouseEventHandler Click ;

null

Antes de invocá-los, sempre compare nossos eventos e delegates a null.

Eventos simples

Para eventos simples, use o EventHandler e EventArgs default.

Derive EventArgs

Para um novo conjunto com informações adicionais sempre derive EventArgs.

CancelEventArgs

Para deixar que o receptor do evento possua o controle, use o existente CancelEventArgs.

Ok! Um pouco sobre o Boas Práticas.