Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以编程方式格式化生成的CodeDom代码_C#_Code Generation_Codedom - Fatal编程技术网

C# 以编程方式格式化生成的CodeDom代码

C# 以编程方式格式化生成的CodeDom代码,c#,code-generation,codedom,C#,Code Generation,Codedom,我如何确保从下面这样的代码生成的CS格式良好,即我们按下CTRL+K+D键?它是C 我们正在按照以下思路开展工作: CodeMemberMethod membMethod = new CodeMemberMethod(); membMethod.Attributes = MemberAttributes.Static | MemberAttributes.Public; membMethod.ReturnType = new CodeTypeReference("IEnumerable<"

我如何确保从下面这样的代码生成的CS格式良好,即我们按下CTRL+K+D键?它是C

我们正在按照以下思路开展工作:

CodeMemberMethod membMethod = new CodeMemberMethod();
membMethod.Attributes = MemberAttributes.Static | MemberAttributes.Public;
membMethod.ReturnType = new CodeTypeReference("IEnumerable<" + TableNameAsSinglular + ">");
membMethod.Name = "Get" + TableName;
membMethod.Statements.Add(new CodeSnippetStatement(DataBaseContext + " dcontext = new " + DataBaseContext + "(ConnectionString);"));
membMethod.Statements.Add(new CodeSnippetStatement("var records = from record in dcontext." + TableName + " select new " + TableNameAsSinglular + "{"));
    int iCount = 0;

    //Add columns fields
    foreach (DataRow dr in sqlTable.Rows)
    {
        if (iCount == 4)
        break;
        string strColName = dr["ColumnName"].ToString().Replace(" ", "");
        membMethod.Statements.Add(new CodeSnippetStatement(strColName + "=" + "record." + strColName + ","));
        iCount++;
    }

membMethod.Statements.Add(new CodeSnippetStatement("};"));

在Visual Studio中,转到

工具->操作文本编辑器->C->格式化


Ctrl-K-D将使用那里的设置来格式化代码。

CodeDom实际上用于生成运行时代码。如果您希望在设计时或编译时生成代码,那么应该使用T4模板

T4允许您精确设置代码输出的显示格式:


感谢您的回复,我已经更新了这个问题,以反映我希望通过编程实现这一点,最好是在编写CodeDom代码的同时。也就是说,有没有类似CodeDom.FormatNicelyah的东西好吧,这很有趣。我们是,也许是!使用codeGenerator.GenerateCodeFromNamespacecnsCodeDom、sw、cgo;写入文件。