首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#代码生成

C#代码生成
EN

Stack Overflow用户
提问于 2010-09-20 22:19:21
回答 4查看 466关注 0票数 1

我要做一个毕业设计申请这个应用程序将以某种方式接收对情况的描述,然后相应地生成c#代码

我想知道我需要在哪个字段中搜索,或者如何自动生成C#代码

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-20 22:24:53

如果可以的话,可以在上面看看Kathleen Dollard's book。她也有一个关于这个话题的website

基本上,您有三种选择:

Brute force-在文本文件中自己创建代码文件

CodeDOM generation -MS是以创建代码的方式构建的。

XSLT - Kathleen使用的。

票数 1
EN

Stack Overflow用户

发布于 2010-09-20 22:31:00

T4模板也可以提供帮助-

http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx

您还可以在运行时生成IL。;)

票数 1
EN

Stack Overflow用户

发布于 2010-09-20 22:48:41

CodeDOM

我对codedom做了一个包装。您只需要创建自己的C#脚本并指定要使用的类型。

示例

代码语言:javascript
复制
public interface IWorld
{
    string Hello(string value);
}

string code = @"namespace MyNamespace
{
  class Temp : IWorld
  {
      public string Hello(string value)
      {
          return "World " + value;
      }
  }
}";

Compiler compiler = new Compiler();
compiler.AddType(typeof(string));
compiler.Compile(code);
var obj = compiler.CreateInstance<IWorld>();
string result = obj.Hello("World!");

请注意,这是很久以前我写的。这个例子可能不能100%工作。( Compiler类确实可以工作,但示例可能会错误地使用它)。

编译器源代码:http://fadd.codeplex.com/SourceControl/changeset/view/65227#925984

Reflection.Emit

您还可以使用Reflection.Emit:http://msdn.microsoft.com/en-us/library/3y322t50.aspx生成IL

这有点难,但更灵活,因为CodeDOM会为你编译的每一种代码生成一个新的程序集。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3752336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档