Programando na madrugada

.Net

Obtendo as Properties pela ordem de declaração no C#

by Luiz Picanço on Aug.18, 2009, under .Net

Em alguns momentos, pode ser necessário obter a lista de properties de um objeto. Um jeito simples de fazer isso é:

1
2
3
4
private IEnumerable<PropertyInfo> GetProperties(Type type)
{
    return type.GetProperties();
}

O problema é que, segundo a Microsoft, a ordem em que as properties são retornadas não é garantido:

The GetProperties method does not return properties in a particular order, such as alphabetical or declaration order. Your code must not depend on the order in which properties are returned, because that order varies.

Uma solução para resolver esse problema é ordenar a lista de properties pela property MetadataToken.

O código então, ficaria assim:

1
2
3
4
private IEnumerable<PropertyInfo> GetProperties(Type type)
{
    return type.GetProperties().OrderBy(p => p.MetadataToken);
}

Se a intenção for obter as properties na ordem inversa, o código ficaria assim:

1
2
3
4
private IEnumerable<PropertyInfo> GetPropertiesDescending(Type type)
{
    return type.GetProperties().OrderByDescending(p => p.MetadataToken);
}

O ideal é que o seu código não dependa da ordem dos membros para executar, mas em alguns casos, como geração automática de código, isso pode ser útil.

2 Comments :, , , more...

Client para twitter em .Net

by Luiz Picanço on Mar.25, 2009, under .Net, Projetos

Criei um client para twitter utilizando a plataforma .Net.

Funcionalidades:

  • Lista as mensagens dos seus amigos
  • Lista os seus replies
  • Lista as suas mensagens
  • Adiciona novas mensagens

A aplicação está funcional mas precisa de aprimoramentos no layout. Com o tempo vou atualizando.

Screenshot da tela principal:

Twitter.Net Screenshot

Twitter.Net Screenshot

Faça o download:
Twitter.Net

O código pode ser acessado aqui:
twitterclient – Google Code

1 Comment :, , , more...

Arquivo