We use cookies to enhance your browsing experience, serve personalised ads or content, and analyse our traffic.
By clicking "I accept", you consent to our use of cookies.

Estendere C# con Roslyn

Lingua: Italiano
Evento: Community Days 2016
Track 2 (Teatro 4)
Orario: 11:50  -  12:50

Abstract

Scrivere una libreria è un po' come estendere il linguaggio. Tuttavia chi realizza una librerie ha meno libertà e potenza espressiva rispetto a chi progetta un linguaggio: il linguaggio sottostante impone limiti, sia in ciò che è possibile definire che nei vincoli esprimibili. Ad esempio, in C# è possibile vincolare i parametri di una classe generica ad essere a loro volta classi, ma non possiamo vincolarli ad essere interfacce. Attraverso Roslyn (la nuova tecnologia alla base dei compilatori Microsoft), chi crea una libreria può ora includere degli analizzatori compile-time, creando una cosiddetta Code-Aware Library. L'analizzatore custom può implementare logiche complesse, di fatto estendendo i vincoli esprimibili con il normale type system. In questo talk parleremo sia della tecnologia delle Code-Aware Libraries che di un loro utilizzo avanzato, estendendo il C# con un costrutto di cross-cast tra interfacce completamente type-safe.