Roslyn, il nuovo compilatore open-source per i linguaggi C# 6 e Visual Basic 14, include, tra le altre funzionalità, un motore di scripting utile per leggere ed interpretare una sequenza di istruzioni, che possiamo passare come stringhe, e che verranno elaborate a runtime.
Per sfruttare questa funzionalità dobbiamo, come prima cosa, installare il pacchetto Microsoft.CodeAnalysis.Scripting da NuGet. Supponiamo di avere il seguente blocco di codice:
int result = await CSharpScript.EvaluateAsync<int>("1 + 2");
In questo caso, abbiamo sfruttato il motore di scripting di C# per elaborare una espressione matematica, il cui valore di ritorno vogliamo essere un intero.
Allo stesso modo, è possibile chiamare vere e proprie righe di codice, oppure funzioni specifiche (avendo cura di includere i namespace corretti):
CSharpScript.EvaluateAsync("Console.WriteLine(\"Hello world!\")", ScriptOptions.Default.AddImports("System"));
Così facendo, siamo andati a stampare sulla console "Hello World!" attraverso Roslyn.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Utilizzare gRPC su App Service di Azure
Routing statico e PreRendering in una Blazor Web App
Gestire liste di tipi semplici con Entity Framework Core
Come migrare da una form non tipizzata a una form tipizzata in Angular
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Inizializzare i container in Azure Container Apps
Implementare il throttling in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Effettuare il binding di date in Blazor