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
Avviare una registrazione audio e video in una applicazione della Universal Windows Platform
Abilitare Hot Module Replacement in Angular
Sviluppare applicazioni con supporto al doppio schermo con Xamarin
Realizzare un oggetto DataList generico in Blazor
Taggare automaticamente un team member in work item tramite Azure DevOps
Creare un templated component per Blazor
Introduzione a Microsoft Bot Framework
Inizializzazione asincrona di un servizio allo startup di un'applicazione Blazor
Pubblicare un'applicazione come singolo eseguibile con .NET Core 3
Windows and app development with MAUI
Creare layout consistenti grazie al Visual Material in Xamarin Forms
Blazor: WebAssembly
I più letti di oggi
- Le novità di Entity Framework Core 5
- Modificare la modalità di esecuzione delle query con Include in Entity Framework Core 5
- Chiamare direttamente un numero di telefono con HTML5
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Esecuzione condizionale dei task nelle pipeline YAML di Azure DevOps