Nella costruzione delle classi che compongono le nostre applicazioni, in maniera molto naturale e immediata utilizziamo molto spesso i tipi primitivi come interi e stringhe. La verità è che questo molto spesso è impreciso e può portare ad errori riscontrabili solo a runtime. Vediamo un semplice esempio: class Program { static void Main(string[] args) { var ...
React Development Blog
Tipi Algebrici in F#
I tipi algebrici di F# permettono di risolvere il seguente problema: Il metodo X deve effettuare un'operazione Y e può ritornare il risultato dell'operazione rappresentato dal Tipo T oppure un messaggio di errore e/o validazione dei dati La strada che si può utilizzare in C# è quella di racchiudere il risultato dell'operazione in una classe come la seguente public class Risu ...
Usare le nuove Tuple C# 7
La nuova versione di C# rilasciata con VS2017 aggiunge un nuovo tipo di Tupla estremamente più utlizzabile e chiara della Tuple precedentemente presente nel Framework. Per distinguerla dalla Tupla classica il nuovo tipo si chiama ValueTuple e la sua più grande utilità è quella di poter dare un nome agli elementi. Per spiegarci meglio vediamo un esempio di codice, ricordate di ...
Validazione degli argomenti e yield return con C# 7
La validazione degli argomenti nei metodi che utilizzano il costrutto "yield return" è un tema che abbiamo già affrontato in questo blog. Tuttavia oggi C# 7 e VS2017 ci permettono di migliorare quell'approccio e rendere il nostro codice ancora più sicuro. Ricordiamoci che per effettuare la validazione in un metodo che utilizza lo "yield return" è necessario spezzarlo in due pa ...
Compilare il css bootstrap dentro Visual Studio
Non c'è niente di più semplice e veloce di compilare il sorgente bootstrap sass dentro un progetto ASP.NET di Visual Studio! Come prima cosa installatevi questa estensione gratuita di Visual Studio: https://marketplace.visualstudio.com/items?itemName=MadsKristensen.WebCompiler Se vi state chiedendo chi è Mads Kristensen, sappiate che è l'uomo dietro alle ultime versioni ...
X.PagedList e Knockout JS
Oggi utilizziamo il pacchetto NuGet X.PagedList e Knockout js per crare una griglia con paginazione caricata completamente in ajax per un progetto ASP.NET MVC. Cominciamo con creare un progetto ASP.NET MVC e installiamo i seguenti pacchetti NuGet e tutte le loro dipendenze: X.PagedList.MVC v. 5.3.0.5300 knockoutjs v. 3.4.2 jQuery v. 3.1.1 Per caricare una griglia ed ef ...
Forzare la localizzazione dei ToString()
La localizzazione è uno dei problemi che un qualunque sviluppatore si troverà prima o poi ad affrontare. Sviluppando sul proprio pc o server è molto semplice dare per scontato che metodi come il ToString() facciano esattamente quello che ci aspettiamo convertendo i valori nel formato del nostro pc o server. Chiaramente questo potrebbe creare problemi non appena spostiamo il no ...
Selectize.js e Web API
Oggi mostriamo come utilizzare il componente Selectize.js all'interno di un progetto ASP.NET con l'utilizzo delle Web API per caricare i valori nel menù a tendina. Per iniziare: Creare un nuovo progetto ASP.NET di tipo Web API. Aggiornare tutti i pacchetti NuGet della soluzione. Aggiungere alla soluzione il pacchetto "selectize" alla versione più aggiornata, 0.12.1 al mom ...
Web Forms e dependency injection
La dependency injection è una funzionalità che non è supportata nativamente dalle web form. Tuttavia utilizzando la libreria Autofac è possibile in modo molto semplice e veloce utilizzare la dependency injection nei progetti web di tipo web form. Iniziamo con l'installare i due pacchetti nuget: Autofac Autofac.Web Registriamo i moduli necessari per il corretto funzionam ...
Caricare un file sul blob storage azure
Caricare un file del blob storage è molto semplice e si può fare il tutto con poche righe di codice. Preliminare all'esecuzione del codice è un account azure su cui abbiamo già attivato il servizio di storage, per intenderci quello dello screenshot sotto. Creato un progetto di qualunque tipo, ad esempio web o console application, è innanzitutto necessario installare i seg ...