国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

使用 C# 動態編譯代碼和執行的代碼

2020-01-24 03:43:28
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

/*
* 使用 C# 動態編譯代碼和執行
* 作者: yaob
*/

static void Main(string[] args)
{
// 編譯器
CodeDomProvider cdp = CodeDomProvider.CreateProvider("C#");

// 編譯器的參數
CompilerParameters cp = new CompilerParameters();
cp.ReferencedAssemblies.Add("System.dll");
cp.GenerateExecutable = false;
cp.GenerateInMemory = true;

// 編譯結果
CompilerResults cr = cdp.CompileAssemblyFromSource(cp, HelloWorld());

if (cr.Errors.HasErrors) Console.WriteLine("編譯出錯!");
else
{
// 編譯后的程序集
Assembly ass = cr.CompiledAssembly;

// 得到HelloWorld類中的SayHello方法
Type type = ass.GetType("HelloWorld.HelloWorld");
MethodInfo mi = type.GetMethod("SayHello");

// 執行
mi.Invoke(null, null);
}
}

// 動態構建的代碼
static string HelloWorld()
{
StringBuilder sbCode = new StringBuilder();
sbCode.AppendLine("using System;");
sbCode.AppendLine("namespace HelloWorld");
sbCode.AppendLine("{");
sbCode.AppendLine(" class HelloWorld");
sbCode.AppendLine(" {");
sbCode.AppendLine(" public static void SayHello()");
sbCode.AppendLine(" {");
sbCode.AppendLine(" Console.WriteLine(/"Hello~ World~!/");");
sbCode.AppendLine(" }");
sbCode.AppendLine(" }");
sbCode.AppendLine("}");
return sbCode.ToString();
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳阳市| 遂溪县| 五大连池市| 崇礼县| 常德市| 鹤峰县| 孟津县| 阳曲县| 大余县| 筠连县| 通江县| 巴南区| 汶川县| 江都市| 罗城| 东源县| 福鼎市| 龙泉市| 岚皋县| 沅江市| 凌源市| 屏东市| 沙雅县| 建德市| 乐安县| 石河子市| 南昌市| 安福县| 中阳县| 秦皇岛市| 子长县| 息烽县| 平邑县| 西乌珠穆沁旗| 海林市| 酒泉市| 黑河市| 曲周县| 杂多县| 西藏| 义马市|