[笔记]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
相关文档:
一直没有找到一种好的方法来引用有返回值的存储过程的方法,使我在添加数据中走了不少的弯路,最近,在查阅了大量的资料之后,终于在微软的一个实例中找到了一种良好的方法。
首先编写好一有返回值的存储过程
create procedure proc_name
@para1 nchar(20), --输入参数
@ ......
这些天因为工作需要,要将一些html文件转换为chm文件,当然是需要和程序结合在一起。
后来找到NDoc,里头有一段代码是相关的,于是开始分析代码,写完之后,总结:主要是利用微软的hhc.exe来编译html文件,程序需要将具体的数据写入hhp和hhc文件。
主要代码如下:
复制C#代码保存代码public void CompileProject()
{ ......
已知有一个XML文件(bookstore.xml)如下:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
&nb ......
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 ......
send :
string path = "E:\\c#\\convey_file\\convey_file\\Form1.cs"; //要传输的文件
TcpClient client = new TcpClient();
client.Connect(IPAddress.Parse("192.168.0.52"),9999);
FileStream file = new FileStream(path,FileMode.Open,FileAccess.Read); // ......