[笔记]C#实现动态编译
今天看了我的老师钟声的书《Java程序员上班那点儿事》,其中有一段关于Java实现动态编译的代码使我很受启发,决定在.NET中尝试一下。
引入下列命名空间:
using System.CodeDom;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
C#代码:
CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
//CodeDomProvider 可用于创建和检索代码生成器和代码编译器的实例,这个类是一个抽象类,需要使用CreateProvider()方法创建。
string[] referenceAssemblies = new string[]
{
"System.dll"
};
CompilerParameters cp = new CompilerParameters(referenceAssemblies, "Demo.exe", false);
//表示ICodeCompiler接口的设置和选项的CompilerParameters 对象,第一个参数表示引用的程序集,第二个表示输出的文件名,第三个表示是否调试。
cp.GenerateExecutable = true;
StringBuilder code = new StringBuilder();
code.Append("using System;");
code.Append("namespace Simple{");
code.Append("public class DemoClass{");
code.Append("public static void Main(string[] args){");
&nbs
相关文档:
private void Create_Pz(string Sourcename)
{
string OutMsg;
SqlParameter[] sortPara = { new SqlParameter("@ps_IsType", Pz ......
非常简单,在C#中只需要在类的方法的上方敲三下"/"就自动帮你添加相关的代码,你只要按着填写就可以了,而Java则是输入"/**",它也会自动形成相关代码,具体代码如下:
C#
/// <summary>
/// 在此填写总体描述
///</summary>
/// <param name="name">这里填写参数name的描述</param>
public string ......
先说python
python的random模块提供了多个伪随机数发生器,默认都是用当前时间戳为随机数种子。
下面是该模块几个最常用的函数
random() Return the next random floating point number in the range [0.0, 1.0).
randint(a,b) Return a random integer N such that a <=
N <= b
randrange([star ......
private static int level=0
public static int FindGUILike(ref int hWndArray,int hWndStart,ref string windowText,ref string className,ref string parentText)
{
int hwnd=0;
int r=0;
StringBuilder sWindowText=new StringBuilder();
StringBuilder sClassname=new StringBuilder();
StringBuilder sParentT ......