-
Dettagli sul metodo SelectDTO
di Cristian "Ricciolo" Civera, in .NET 3.5,Vorrei aggiungere alcuni dettagli sul mio post riguardo LINQ to Reflection ed in particolare sull'extension method SelectDTO. Quello che il metodo fa è creare un expression identica a quello che faremmo scrivendo a mano il mapping. Prendiamo per esempio il classico Northwind e ...
-
LINQ to Reflection - Parte tre
di Cristian "Ricciolo" Civera, in .NET 3.5,Ho avuto un po' di tempo per fare alcune aggiunte alla libreria che ora è disponibile nel lab . Ho aggiunto una classe DTOCopy che mi permette di memorizzare attraverso un membro statico le proprietà che hanno in comune due classi. L'uso di una classe generica mi permette di ...
-
Abusi della parola chiave var e poca leggibilità dei generics
di Cristian "Ricciolo" Civera, in .NET 3.5,Con C# 3.0 hanno introdotto la nuova parola chiave var per inferire il tipo dalla dichiarazione il cui scopo è principalmente supportare e rendere possibile LINQ. Un po' di codice ormai in giro si trova, ma trovo che a volte questa parola chiave venga abusata. Sono del parere che...
-
Lambda Expression in Windows Presentation Foundation
di Cristian "Ricciolo" Civera, in .NET 3.5,Preso da LINQ, Expression e compagnia bella, mi è venuto in mente di provare ad applicare LINQ anche in WPF, la mia primissima passione. Ho pensato al Binding, che è bellissimo, ma spesso mi trovo a dover usare converter che, anche se molto stupidi, richiedono di creare una ...
-
LINQ to reflection - Parte due
di Cristian "Ricciolo" Civera, in .NET 3.5,Qualche giorno fa ho parlato di come è possibile generare IL a runtime per velocizzare le operazioni che solitamente si effettuano via reflection. Oltre alla FastCreateInstance ho implementato una FastSetValue. In questo caso il metodo dinamico generato non fa altro che ricevere...
-
Eccovi LINQ to reflection
di Cristian "Ricciolo" Civera, in .NET 3.5,Un bel titolo ingannevole per attirarvi a leggere alcuni extension method che ho sviluppato per risolvere in parte le problematiche di performance delle quali ho discusso qua . Come avevo accennato, un'opzione può essere quella di generare codice dinamico. Per farlo facilmente ...
-
Reflection: migliorare le performance
di Cristian "Ricciolo" Civera, in .NET 3.5,La reflection è quello strumento che permette di interrogare a runtime i metadati di un assembly, analizzare i tipi, i membri ed invocare dinamicamente metodi, proprietà ed eventi. Il namespace System.Reflection c'è dal .NET Framework 1.0 e l'importanza di questo strumento si è ...
-
Riutilizzare porzioni di espressioni LINQ
di Cristian "Ricciolo" Civera, in .NET 3.5,Se anche voi usate in alcuni progetti LINQ to SQL come DAL, vi troverete un domain model e le classi create tramite il DBML. Questo perché le prime vengono usate nello strato di presentazione e in quello business, mentre le seconde utilizzate all'interno del DAL realizzato con ...
-
LINQ to SQL: Chiamare extension method non implementati
di Cristian "Ricciolo" Civera, in .NET 3.5,Credo che qualcuno si sia già imbatutto in un problema dovuto ad una query LINQ to SQL simile a questa: { return true;}var customer = from c in dc.Customers where MiaFunzione(c) select c; Se lo eseguiamo otterremo un exception perché MiaFunzione è ...
-
Uso improprio dei generics
di Cristian "Ricciolo" Civera, in .NET 3.5,I generics sono tanto belli bellini. Senza di essi non esisterebbe LINQ, gli extension method non avrebbero trovato così ampio spazio e non potremmo scrivere classi generiche utilizzabili per più tipi. Ci sono alcune pratiche però che mi capitano di vedere e io non ritengo ...
.NET 3.5
- marzo 2012:2 post
- novembre 2011:1 post
- maggio 2011:2 post
- marzo 2011:1 post
- gennaio 2011:1 post
- dicembre 2010:1 post
- giugno 2010:2 post
- aprile 2010:3 post
- gennaio 2010:1 post
- maggio 2009:9 post
- aprile 2009:7 post
- ottobre 2008:5 post
Categorie
In evidenza
- Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
- Inviare email tramite il package MailKit
- Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
- Proteggere le risorse Azure con private link e private endpoints
- Referenziare un @layer più alto in CSS
- Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
- Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
- Ottenere un token di accesso per una GitHub App