segunda-feira, 20 de julho de 2009

Um pouco mais de Silverlight 3

Vou postar aqui só alguns links importantes para quem está vindo do Silverlight 2 para o 3 ou do Beta para o RTM. Link para o quem vai começar com Silverlight: aqui. Tools para o Visual Studio 2008 (SDK): aqui. Toolkit com os novos controles para Visual Studio 2008: aqui. Página com as mudanças efetuadas pelo time da Microsoft: aqui. Listagem das novidades por Tim Heuer: aqui. Página referência com os principais vídeos. aqui. Por enquanto é isso, e esperar o Visual Studio 2010.

quarta-feira, 15 de julho de 2009

C# 4.0: Named and Optional Parameters

Vou falar hoje de novidades Visual Studio 2010/Framework 4.0. Mais especificamente dos parâmetros opcionais, que não existiam em C# até então. Por motivos de facilidade de interoperabilidade foram criadas algumas estruturas para que o C# pudesse trabalhar com construtores e métodos com parâmetros opcionais. Junto a isso já se criou um problema. Se você tivesse um método com vários parâmetros opcionais como faria para informar apenas o último, penúltimo e assim por diante? Nesse momento entram em campo os Named Parameters, que possibilitam que se especifique o qual dos parâmetros que se está passando. Muitos vão lembrar dos NamedParameters usados em atributos, mas temos que ter em mente que aqui estamos usando-os diretamente em métodos e construtores e definindo valores default. Não são os mesmo utilizados nos atributos e não devem ser confundidos. Bom, abaixo segue um trecho de código onde tenho meu construtor com parâmetros opcionais, todos eles com seus valores default:
class Person
{
    public Person(
        string firstName = "Noname",
        string lastName = "Nolastname",
        DateTime birthDate = new DateTime())
    {
        //Implementação...
    }
}
E aqui eu crio uma instância desta classe passando apenas o segundo parâmetro:
var person = new Person(lastName: "Canova");
Como pode ser visto, utilizo o nome da propriedade e após os ":" eu coloco o valor que quero. As outras propriedades assumirão os valores default. Claro que aqueles que quiserem consumir classes com esta funcionalidade mas que prefiram continuar passando todos os parâmetros, podem fazer como sempre fizeram, lembrando que só é preciso especificar nomes de parâmetros quando não se usa a ordem normal dos mesmos:
var person2 = new Person("Vitor", "Canova");
var person3 = new Person("Vitor", birthDate: new DateTime(1981, 3, 19));
Mas aqui fica uma observação: Use com sabedoria.

sexta-feira, 10 de julho de 2009

Silverlight 3 RTM

Finalmente o tão esperado release final do Silverlight 3 está disponível para download. Pra quem já tinha a versão beta instalada será necessário fazer a desinstalação primeiro e só após isso fazer a instalação na nova versão. Segue abaixo algumas das novidades acrescidas desde a versão beta:
  • Multi Touch: O Silverlight 3 será capaz de capturar eventos de multi touch enviados pelo sistema operacional.
  • Matrix3DProjection: Uma alternativa ao PlaneProjection para efeitos visuais 3D.
  • Mouse Wheel: Finalmente esta feature está incorporada nativamente, sem necessidade de implementação de hacks com javascript.
Aqui segue o link para instalação do novo plugin: http://www.microsoft.com/silverlight/resources/install.aspx Para quem ainda não começou a estudar, um livro bem interessante recém lançado pela Microsoft Press é Introducing Microsoft Silverlight 3. que já pode ser encontrado desde o mês passado. Enjoy

quinta-feira, 9 de julho de 2009

Office 2010: The Movie

Esta semana saiu oficialmente o vídeo promocional do Office 2010. Ele é semelhante a um trailer de filme e faz parte da campanha de divulgação para a nova versão da suite de escritórios da Microsoft. Não costumo fazer esse tipo de propaganda no meu blog mas realmente ficou muito bom o trailer. Você pode assisti-lo diretamente no site oficial do Office 2010 feito em Silverlight ou neste vídeo do YouTube.