Runtime-Compile, Runtime-Binding
Things to do
(int n) => {
var sum = 0;
for(var i=0;i<n;i++) {
sum += i;
}
return sum;
}
traditional-way
ilGenerator.Emit(OpCodes.Ldc_I4, 0);
ilGenerator.Emit(OpCodes.Stloc_0);
/* ... */
with Remit
var program = Remit.Program.Compile(
@"
$loc_1 = 0;
for(var $loc_0 = 0; $loc_0 <= $arg_0; $loc_0 ++) {
$loc_1 += $loc_0;
}
return $loc_0;
");
ilGenerator.Attach(program);