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
Utilizzare QuickGrid di Blazor con Entity Framework
Gestione file Javascript in Blazor con .NET 9
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Gestione CSS in Blazor con .NET 9
Recuperare App Service cancellati su Azure
Selettore CSS :has() e i suoi casi d'uso avanzati
Filtering sulle colonne in una QuickGrid di Blazor
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Supportare lo HierarchyID di Sql Server in Entity Framework 8