如何解析用於生成IL操作碼的C#源代碼,可以在DynamicMethod中使用?從C#源代碼發出IL OpCodes
我想動態地執行代碼而不產生不必要的程序集。 類似這樣的:
var body = "return \"sample\";";
var dm = new DynamicMethod("method_" + Guid.NewGuid().ToString("N"), typeof(string), null);
var parser = new SomeKindOfCSharpParser();
parser.Emit(body, m.GetILGenerator());
你使用C#5嗎?如果是這樣,你就全都定了。如果沒有,你可以使用Mono嗎? – Gabe
另外,根據* how *嚴格你需要,你可能能夠逃脫CSharpCodeProvider GenerateInMemory = false –
@Gabe C#4.我可以使用單聲道。我發現很好的項目NRefactory但是我仍然需要通過我自己的實現發射邏輯。我以前沒有和Mono一起工作過。我錯過了什麼? – lorond