[Archivio Articoli]

 

  • di pubblicato il 27/05/2021

    L'interoperabilità tra codice managed ed unmanaged è, solitamente, operata invocando codice nativo da quello .NET mediante i meccanismi che il CLR predispone allo scopo tra i quali, ad esempio, ricordiamo gli assembly di interoperabilità per le librerie COM e l'attributo DllImport per le funzioni Win32.

    Per lo scenario inverso, invece, non esistono meccanismi così immediati ma ciò non significa che non sia possibile. Si supponga, ad esempio, di voler invocare da una applicazione nativa (es: una applicazione MFC) alcune funzioni implementate in linguaggio C#.

  • di pubblicato il 26/04/2005

    L'articolo fornisce una introduzione al concetto di chiamata ricorsiva di coda e mostra il supporto fornito dal CLR in tal senso, ovvero l'istruzione IL tail.

  • di pubblicato il 13/03/2005

    In questo articolo verrá mostrato come poter implementare, sfruttando la keyword volatile[1] messa a disposizione dal linguaggio c#, una versione thread-safe piú performante ed efficente del pattern Singleton rispetto alla classica implementazione che fa uso della sola istruzione lock[2].

  • di pubblicato il 04/10/2002

    La sicurezza basata sui ruoli è un potente strumento messo a disposizione dal framework .NET; se fosse nostra intenzione gestire un sistema che si basa sulla definizione di ruoli personalizzati possiamo usare le classi GenericIdentity, GenericPrincipal, PrincipalPermission e PrincipalPermissionAttribute. E se non ci bastasse?

  • di pubblicato il 19/07/2002

    Il problema della gestione e della liberazione della memoria è sempre stato, per tutti gli sviluppatori, uno dei punti cardine su cui basare le proprie decisioni progettuali. Il framework ci mette a disposizione un'oggetto che dovrebbe aiutarci nel gestire i nostri problemi di memoria. Cos'e'? Come funziona? Funziona davvero oppure no? Ma soprattutto, dov'è finito il delete? Leggete e lo saprete!

  • di pubblicato il 25/06/2002

    La classe più usata dai programmatori è probabilmente la String, pertanto utilizzarla al meglio può incrementare notevolmente le prestazioni di una applicazione. L'obiettivo di questo articolo è investigare all'interno della stringa cercando di capire come si possa migliorare le prestazioni nella loro manipolazione.