Skip to content

Instantly share code, notes, and snippets.

@DinisCruz
Created June 11, 2012 10:50
Show Gist options
  • Save DinisCruz/2909541 to your computer and use it in GitHub Desktop.
Save DinisCruz/2909541 to your computer and use it in GitHub Desktop.
O2 Script to use Roslyn to Dynamically compile and execute a method
panel.clear().add_ConsoleOut();
var code = @"
using System;
class Greeter
{
static string Greet()
{
Console.WriteLine(""Hello, World"");
return ""hello from here"";
}
}";
var tree = code.astTree();
if (tree.hasErrors())
return tree.errors();
var compiler = tree.compiler("Great")
.add_Reference("mscorlib");
if (compiler.hasErrors())
return compiler.errors();
var assembly =tree.compiler("Great")
.create_Assembly();
return assembly.type("Greeter")
.invokeStatic("Greet");
//O2Ref:O2_FluentSharp_Roslyn.dll
//O2File:_Extra_methods_Roslyn_API.cs
//O2File:API_ConsoleOut.cs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment