C# 以编程方式格式化生成的CodeDom代码
我如何确保从下面这样的代码生成的CS格式良好,即我们按下CTRL+K+D键?它是C 我们正在按照以下思路开展工作: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<"
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;写入文件。