Inauguriamo con questo post una serie su LinqToObject (da adesso in poi Linq) in cui andremo a studiare i sorgenti per capire in che modo questa funzionalità è stata implementata. Per chi non lo conoscesse Linq permette di eseguire numerose operazioni su delle collezioni di elementi tra cui: -          Filtrare -          Proiettare -          Medie e somme -          Inte ...

In questo articolo spieghiamo come implementare in modo semplice e rapido la funzione “ricordami” con le login social. Creando un nuovo progetto web application di tipo “web forms” è possibile scegliere la modalità di autenticazione “Individual User Accounts”. A questo punto abilitare le login social google, facebook o altre si riduce solamente alla configurazione delle varie ...

La libreria OpenXML permette di creare e modificare documenti office utilizzando C#. Tra le diverse operazioni che si possono effettuare c’è la possibilità di valorizzare una o più celle di un excel. L’interfaccia del client Excel permette in maniera molto semplice di formattare e decidere il tipo di dati di una cella e le stesse operazioni possono essere effettuate tramite l’ ...

Cosa si intende per dispatch? Per rispondere a questa domanda, osserviamo innanzitutto gli snippet di codice qua sotto  public class Base { public virtual int Metodo() { return 0; } } public class A : Base { public override int Metodo() { return 1; } } public class B : Base { public override int Metodo() { return 2; ...

Qualche tempo fa abbiamo visto qui come costruire la successione di Fibonacci sfruttando gli iteratori e l'interfaccia IEnumerable<T>. Come possiamo generalizzare questo approccio? Quello che abbiamo fatto è stato generare a partire da un seme una successione di valori finché una certa condizione non diventasse falsa. Questo procedimento non è nuovo ed è stato applica ...

Creare degli snippet di codice personalizzati all'interno di Visual Studio può essere molto utile soprattutto se si hanno parti di codice che si ripetono spesso ma che non si possono "astrarre" in alcun modo. Durante lo sviluppo di web form quando definiamo delle proprietà su una pagina, di default il loro valore non viene mantenuto tra i vari postback. Un modo per ovviare a ...

Oggi costruiamo una classe che permette di produrre tutti i numeri di fibonacci (più piccoli di Int32.MaxValue). Per farlo implementiamo l'interfaccia IEnumerable<int> e quindi per ottenere i numeri in successione dovremo eseguire una foreach su una istanza della classe. L'implementazione non comporta particolari difficoltà, l'unica attenzione va fatta alla necessità di ...

Molto spesso può essere utile avere un modo rapido per ottenere un'istanza di default di una classe. Il valore  default(T) per una classe (non struct!) è sempre null e quindi non ci torna molto utile. Vediamo quindi come produrre un'istanza default un'unica volta e recuperarla ogni volta che ne abbiamo bisogno. public class Dummy { public static Dummy Default { ...

Oggi condividiamo con voi un metodo rapido e molto semplice per aiutarvi nella creazione di pagine web basate sul famoso framework html/css/javascript bootstrap. Per verificare che il markup che avete costruito sia corretto rispetto ai requisiti dei componenti di bootstrap vi basta aprire Chrome, gli strumenti per sviluppatori e incollare nella console il seguente codice  ...

Ogni volta che nello sviluppo di una pagina Web Form dobbiamo effettuare il databind di una DropDownList, vanno settate diverse proprietà e chiamato il metodo Databind() e se poi vogliamo aggiungere servono altre righe di codice. Se in una pagina abbiamo numerose DropDownList questo porta ad una notevole ripetizione di codice. Un extension method sulla classe DropDownList ris ...