Skip to main content

Posts

Showing posts with the label features C#

C# 2.0 - Membros estáticos

Antes de mais, vamos definir uma ou duas regras de vocabulário para o artigo: Static - Vou referir-me a esta palavra reservada como a sua tradução literal " Estático". Exemplo: classe estática, método estático... Instance Members   - Esta é uma tradução pobre, eu sei, mas refere-se a membros que apenas estão acessíveis utilizando uma instância de uma determinada classe. Chamar-lhes-ei de membros de instância Isolation Frameworks   - Refiro-me a frameworks que ajudam a criar mocks, fakes e stubs para unit testing . Irei traduzir como Frameworks de Isolamento Em C# 2.0 foi adicionada uma nova funcionalidade denominada por classes e membros estáticos. Quando digo membros refiro-me a métodos, propriedades, eventos, etc. Eu tenho algumas opiniões sobre esta palavra reservada que irei partilhar ao longo do artigo, mas vamos começar por olhar para o que podemos fazer com esta feature . Vejamos este código void Main() { Person p = new Person(); p.Name = ...

C# 2.0 - Métodos Anónimos

Vamos voltar às minhas traduções dos artigos   sobre a evolução do C#. Todos estamos familiarizados por esta altura com o que é um delegate , correto? Os delegates  são uma parte muito importante do sistema de eventos no .NET. Basicamente, registamos um método (chamado  handler ) num  delegate  que irá ser chamado quando evento é invocado. Por outras palavras, um delegate  simplesmente aponta para um método. É um apontador que tem as vantagens de  type safety  e da abstração de alto nível. A grande vantagem é que um delegate  é um objecto que contém informação sobre como chamar um método, e traz-nos todas as vantagens da utilização de objectos, como por exemplo a capacidade de o passar por parâmetro. Vamos ver: Esta é uma forma de utilizar os  delegates dos eventos.  Uma qualquer classe expõe o evento e nós registamos o método no seu delegate . Quando o delegate  é invocado, todos os métodos registados serão...