Novas Funcionalidades C# 3.0 – Extensions Methods

Mudámos de casa – visitem o novo site em www.istomesmo.com

Artigo Principal – As Novas Funcionalidades do C# 3.0

Esta é sem dúvida umas das funcionalidade que mais gostei no C# 3.0. Com ela podemos extender tipos existentes (string, int, etc…) ou tipos construídos (client, car, person, etc…) com métodos adicionais. Estes métodos estáticos podem ser invocados com a mesma sintaxe que os métodos de instância.

Esta funcionalidade pode ser extremamente útil no desenvolvimento, e tornar o código muito mais limpo e reutilizável. De seguida vou mostrar um exemplo, de como podemos capitalizar as primeiras letras das palavras que constituem uma determinada string. Para isso vamo criar um Extension Method ao tipo string:

public static class IstoMesmoExtensions
{
public static string ProperCase(this string s)
{
string[] words = s.Split(‘ ‘);
string result = string.Empty;

foreach (string i in words)
{
result = result + i.Substring(0, 1).ToUpper() +

i.Substring(1).ToLower() + ” “;
}
result = result.Substring(0, result.Length – 1);
return result;
}
}

Continuar a ler

Anúncios

As Novas Funcionalidades do C# 3.0

Marcas Technorati: ,,,

Mudámos de casa – visitem o novo site em www.istomesmo.com

image O C# 3.0 trouxe à plataforma .Net um conjunto de novas funcionalidades que tornam a mesma mais robusta ,completa, e ao mesmo tempo permitem poupar tempo em determinadas rotinas de programação. As novas funcionalidade encaixam-se na platataforma como uma extensão ao C# 2.0.

As principais novas funcionalidades presentes nesta extensão (C# 3.0) são as seguintes:

  • Implicitly typed local variables – permitem que o tipo de uma variável local seja determinado a partir da expressão utilizada para a inicializar.
  • Extension methods – permitem extender os tipos existentes ou tipos construídos com métodos adicionais.
  • Lambda expressions – são uma evolução dos métodos anónimos que possiblitam uma melhoria na determinação dos tipos e nas conversões para “delegates” e “expression trees“.
  • Object Initializers – facilitam a construção e inicialização de objectos.
  • Anonymous types – são tipos/objectos determinados e criados automaticamente a partir de “Object Initializers“.
  • Implicitly typed arrays – permitem a criação e inicialização de arrays que determinam automaticamente o tipo dos elementos do array através da inicilalização do mesmo.
  • Query expressions – disponibilizam uma sintaxe integrada na própria linguagem que permite efectuar queries de modo semelhante ao SQL e XQuery.
  • Expressions tree – possibilitam que as “Lambda expressions” sejam representadas como dados em vez de código (“delegates”).

Nos próximos artigos vou explicar cada uma destas funcionalidades mais detalhadamente. Vamos começar já pela nova palavra do C# 3.0, a palavra “var”…

Continuar a ler

Tutorial JQUERY – Introdução (com 2 exemplos)

Marcas Technorati: ,,,,,

Mudámos de casa – visitem o novo site em www.istomesmo.com

Ultimamente muito se tem ouvido falar sobre JQUERY. Mas afinal que linguagem é esta? A JQUERY é uma biblioteca de Javascript extremamente útil no desenvolvimento com esta linguagem.

Mas quais são as mais valias que a JQUERY traz ao desenvolvimento com javascript?

Só quem ainda não teve necessidade de utilizar javascript no desenvolvimento de websites, não se deparou com a dificuldade que é desenvolver utilizando esta linguagem, problemas com CSS’s, compatiblidade entre browsers, problemas de acessibilidade, etc…

Continuar a ler

Tutorial – Log de Excepções ELMAH (Parte 2)

Marcas Technorati: ,,

Mudámos de casa – visitem o novo site em www.istomesmo.com

image Na primeira parte deste tutorial vimos como configurar o ELMAH com as definições por omissão, guardando as excepções na memória volátil.

Neste tutorial vamos continuar com as outra formas de Logging (XML, SQLite e SQL Server).

Para alterarmos o provider de logging, temos de alterar uma propriedade na configuração da secção elmah no web.config.

 

Continuar a ler

Validar um Número de Contribuinte (NIF)

Marcas Technorati: ,,,

Mudámos de casa – visitem o novo site em www.istomesmo.com

Hoje vou começar uma nova categoria de artigos, denominada de utilidades. O objectivo desta categoria será fornecer pequenas funções que nos possam ajudar no desenvolvimento de aplicações.

Neste artigo vou demonstrar como podemos efectuar a validação de um número de contribuinte.

O número de contribuinte é constituído por 9 algarismos, dos quais o último é um algarismo de validação, uma espécie de checksum. A função que vamos desenvolver hoje efectua estas duas validações (9 algarismos e CheckBit).

Em C#, a função de validação é a seguinte:

Continuar a ler

Como adicionar mensagens a um Validation Summary

Marcas Technorati: ,,,

Mudámos de casa – visitem o novo site em www.istomesmo.com

image Muitas vezes, num formulário web, temos necessidade de notificar o utilizador com determinada mensagem que não faz parte dos validators que usamos no formulário. Nesse caso, o ideal seria que essa mensagem aparecesse na zona do “Validation Summary“.

Para vos dar um exemplo, imaginem que têm uma página de registo de utilizador, e não podem existir utilizadores com o mesmo username. A não ser que já estejamos a utilizar AJAX, não conseguimos saber se já existe um utilizador com o username inserido, enquanto o formulário não for submetido. Depois da validação efectuada do lado do servidor, no caso de já existir um utilizador com o username fornecido, queremos mostrar a mensagem de utilizador já existente no mesmo sitio onde apareceram todas as outras mensagens de validação.

Continuar a ler

Tutorial – Log de Excepções ELMAH (Parte 1)

Marcas Technorati: ,,

Mudámos de casa – visitem o novo site em www.istomesmo.com

image Neste artigo vou-vos falar de um projecto open source que permite efectuar log de excepções inesperadas em aplicações WEB de uma forma simples, prática e eficiente.

O projecto ELMAH (Error Logging Modules and Handlers for ASP.NET) apareceu em 2004 como um projecto no MSDN para demonstrar o uso de Handlers e Módulos HTTP.

O objectivo deste projecto, que agora é open source, é interceptar todas as excepções inesperadas que ocorrem numa aplicação ASP.NET e dão origem ao famoso ecrã amarelo da morte (“yellow screen of death”).

Continuar a ler