|
|
Browse by Tags
All Tags » C# » .NET3.5 (RSS)
-
Para finalizar esta série acerca da hidratação de objectos, vou mostrar algumas comparações de performance entre os diferentes métodos de hidratação de objectos.
Para os efeitos deste exercício vou usar esta classe:class SomeType
{
public int Id { get; set; }
public string Name { get; set; }
public DateTimeOffset CreationTime { ...
-
Na minha entrada mostrei como hidratar objectos criando instâncias e afectando propriedades dessas instâncias.
Mas, se a intenção é hidratar objectos partir de dados, porque não ter uma expressão que faz isso mesmo? É para isso memos que serve a expressão de inicialização de membro.
Para criar tal expressão apenas é necessário uma ...
-
No seguimento da minha última entrada, recebi muitas questões acerca de como me tinha tornado um especialista na criação de árvores de expressões.
A resposta é: .NET Reflector
Naquela entrada eu precisava de gerar uma árvore de expressões para esta expressão:Expression<Func<object, object>> expression = o => ...
-
Um colega perguntou-me se eu conhecia alguma forma de despejar uma lista de objectos para uma DataTable com melhor performance que a que ele estava a usar.
Os objects a serem despejados têm, geralmente, mais de uma dúzia de propriedades, mas, para os efeitos deste texto, assumamos que se parecem com isto:class SomeClass{ ...
-
Como parte do esforço de co-evolução do C# e do Visual Basic, o C# 4.0 introduz Argumentos com Nome e Opcionais. Primeiro clarifiquemos o que são argumentos e o que são parâmetros: Os parâmetros da definição de um método são as variáveis de entrada do método. Os argumentos da declaração da chamada a um método são os valores ...
-
Na minha última entrada apresentei o PredicateEqualityComparer e um método de extensão Distinct recebe um predicado e cria internamente um PredicateEqualityComparer para filtrar elementos. Usar o predicado melhora a legibilidade, concisão e expressividade das consultas, mas ainda pode ser melhor. Na maioria dos casos, não queremos providenciar ...
-
Hoje estava a escrever um consulta LINQ e necessitava de seleccionar valores distintos baseado num determinado critério de comparação. Felizmente, o método Distinct do LINQ permite fornecer um comparador de igualdade, mas, infelizmente, muitas vezes implica escrever um comparador específico para a ocasião. Porque ia necessitar de mais que um ...
-
Hoje, o meu amigo Nuno estava a escrever algum código para obter as PropertyInfos da implementação de uma interface por parte de classe. Dada este interface: public interface ISomeInterface
{
int IntProperty { get; set; }
string StringProperty { get; }
void Method();
}
e esta classe:
public class SomeClass : ...
-
O Visual Studio usa a ferramenta Publicize para criar acessores públicos para membros e tipos privados de um determinado tipo. Mas quando se tenta definir o valor de um elemento de um array privado de elementos de um tipo privado, a situação complica-se. Imagine-se este hipotética classe a testar: public static class MyClass
{
private ...
|
|
|