2009-05-11
Extensão do FindControl no .net 3.5
O .Net 3.5 tem um recurso novo muito bom, agora você pode criar extensões para as classes mesmo sem ser dono dela...
Não precisamos mais criar uma static class cheia de metodos estáticos para usar como uma biblioteca auxiliar do objeto desejado.
um exemplo é este metodo que criei para os objetos das classes que herdão do WebControl:
16:19 - Deixe seu comentário - 2381 visualizações 2008-11-10
Instanciar um objeto pelo seu nome em C#
Existem várias maneiras de se instanciar um objeto usando reflection (reflexão)...
mas eu encontrei essa aqui que achei muito fácil e simples...
C#:
| //MeuNameSpace.MinhaClasse | |
| string nome = "MeuNameSpace" + "." + "MinhaClasse"; | |
| Type type = Type.GetType(nome); | |
| MinhaClasse meuObjeto = Activator.CreateInstance(type) as MinhaClasse; |
Até a próxima
16:05 - 1 comentário - 589 visualizações 2008-10-28
Copia rápida de arquivos no Windows com CopyHandler
Eu odeio o copia e cola do windows explorer, é muito lento, então fui procurar um terceiro que fosse mais rápido, tudo quanto é lugar mostra o TeraCopy, eu usei mas não gostei muito, não é muito configurável e todos os benefícios que ele poderia ter só existem na versão paga.
Eu fiquei pensando, não é possível que não existe um louco como nós que já não tenha feito um programa desse tipo que seja ou open source ou free. Ae encontrei o CopyHandler. Mas o que que tem nele de bom?
4:11 - Deixe seu comentário - 503 visualizações 2008-10-21
Ordenar uma GridView
Aproveitando uma das facilidades do Asp.Net usamos uma GridView para listas os dados que temos em nossa coleção:
HTML:
| <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"> | |
| <Columns> | |
| <asp:BoundField DataField="texto" HeaderText="Texto" /> | |
| <asp:BoundField DataField="codigo" HeaderText="Código" /> | |
| </Columns> | |
| </asp:GridView> |
Agora como podemos ordernar esses dados listado na gridview?
11:51 - Deixe seu comentário - 3772 visualizações Ordenador Genérico de Lista em C# (List)
fiz um ordenador mais generico do que eu tinha feito nesse post:
http://unbuggers.soucafecomleite.com.br/ordenar-colecao-em-c usando o esquema de <T>
Vejam o código a seguir:
11:13 - 1 comentário - 3216 visualizações 2008-10-20
Percorrendo uma Lista em C# (List)
Uma das coisas legais do C# é sua lista molezinha de iterar...
Eu vou listar aqui 3 maneiras de se percorrer uma lista:
o objeto atual é aquele que os dados da iteração atual na lista que está no loop.
C#:
| // com enumerator - favorito de quem vem de java | |
| IEnumerator<MinhaClasse> en = lista.GetEnumerator(); | |
| while(en.MoveNext()) | |
| { | |
| atual = en.Current; | |
| } | |
| // com foreach - favorito de quem vem de VB | |
| foreach(MinhaClasse atual in lista) | |
| { | |
| } | |
| // com o indice da lista - favorito de quem vem de C | |
| for(int i = 0; i < lista.Count; i++) | |
| { | |
| atual = lista[i]; | |
| } |
Tanto usando o foreach quando o enumerator, você não sabe a posição atual que você está agindo na coleção, o que as vezes é muito importante.
E agora... Qual delas é a mais eficiente???
9:30 - Deixe seu comentário - 7120 visualizações Quantidade de memória usada em C#
É muito fácil de se saber...
C#:
| System.Diagnostics.Process processoAtual = System.Diagnostics.Process.GetCurrentProcess(); | |
| long memoriaPaginada = processoAtual.WorkingSet64; |
5:27 - Deixe seu comentário - 279 visualizações Testar se o dado que veio do banco é nulo (DBNull) em C#
Existem 3 jeitos para se fazer essa comparação:
Eu usei de um operador ternário, esse operador funciona assim:
(comparacao) ? (se verdadeiro) : (se falso)
C#:
| // com value | |
| texto = dataReader["coluna"] == DBNull.Value ? null : dataReader["coluna"].toString(); | |
| // com typeof | |
| texto = dataReader["coluna"].GetType() == typeof(DBNull) ? null : dataReader["coluna"].toString(); | |
| // com is | |
| texto = dataReader["coluna"] is DBNull ? null : dataReader["coluna"].toString(); |
Qual deles é o mais rápido?
4:20 - 1 comentário - 1322 visualizações 2008-10-17
Boas práticas para conversão de tipos em C#
Toda vez que fazemos um programa onde o usuário entra com os dados, temos que fazer a conversão de string para o tipo de dado que queremos.
Irei mostrar 2 maneiras de se fazer essa conversão, ela funciona para 99% dos tipos primitivos de C#, como int, float, char e outros como DateTime.
Uma maneira é usando o Parse:
int numero = int.Parse("123456");
Outra maneira é usando o TryParse:
int.TryParse("123456", out numero);
Agora que vimos as duas maneiras, qual delas é a mais rápida?
5:31 - Deixe seu comentário - 2609 visualizações 2008-10-13
Atribuir uma propriedade CSS em todos os elementos de uma página HTML
As vezes é um saco repetir uma coisinha em css para cada id, class ou elemento dentro do seu código de estilo de página.
Como podemos então atribuir de uma vez só em todos os elementos?
10:53 - Deixe seu comentário - 416 visualizações 