Esecuzione dinamica di script con Roslyn

di Matteo Tumiati, in .NET Framework, C#6,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi