當前位置:編程學習大全網 - 編程語言 - 可變主題編程案例

可變主題編程案例

為什麽要這麽做?不是給user_source_setting對象的video_user_1和video _ user _ user _ subscribe _ number屬性賦值嗎?

-

妳說的這種情況是動態編譯-執行,但是這種方法要達到妳的目的要走的彎路太多了。

難以實現

//下面是壹個例子:

使用系統;

使用系統。反思;

使用系統。全球化;

使用微軟。CSharp

使用系統。CodeDom

使用系統。CodeDom .編譯器;

使用系統。文本;

命名空間ConsoleApplication1

{

公開課程

{

靜態void Main(string[] args)

{

// 1.CSharpCodePrivoder

CSharpCodeProvider objcsharpcodeprovoder = new CSharpCodeProvider();

// 2.ICodeComplier

ico decompiler objICodeCompiler = objcsharpcodeprovoder。create compiler();

// 3.編譯器參數

compiler parameters objCompilerParameters = new compiler parameters();

objCompilerParameters。reference assemblies . Add(" system . dll ");

objCompilerParametersGenerateExecutable = false

objCompilerParametersGenerateInMemory = true

// 4.編譯器結果

編譯器結果cr = objICodeCompiler。CompileAssemblyFromSource(objCompilerParameters,generate code());

如果(cr。Errors.HasErrors)

{

控制臺。WriteLine("編譯錯誤:");

foreach(編譯器錯誤cr中的錯誤。錯誤)

{

控制臺。WriteLine(錯誤。ErrorText);

}

}

其他

{

//通過反射調用HelloWorld的實例。

Assembly = cr。已編譯的程序集;

object objHelloWorld = objAssembly。create instance(" dynamic college。hello world”);

MethodInfo objMI = objHelloWorld。GetType()。get method(" OutPut ");

控制臺。WriteLine(objMI。Invoke(objHelloWorld,null));

}

控制臺。ReadLine();

}

靜態字符串生成代碼()

{

StringBuilder sb = new StringBuilder();

某人(somebody的簡寫)Append("使用系統;");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)Append("命名空間動態退化");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)追加(" { ");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)append(" public class hello world ");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)追加(" { ");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)append(" public string OutPut()");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)追加(" { ");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)append(" return " Hello world!\";");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)追加(" } ");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)追加(" } ");

某人(somebody的簡寫)追加(環境。換行符);

某人(somebody的簡寫)追加(" } ");

字符串代碼= sb。ToString();

控制臺。WriteLine(代碼);

控制臺。WriteLine();

返回代碼;

}

}

}

  • 上一篇:C語言常見編程問題方程
  • 下一篇:機電壹體化技術專業可以考什麽證?
  • copyright 2024編程學習大全網