如何确保从以下代码生成的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("};"));
答案 0 :(得分:2)
CodeDom实际上是用于运行时代码生成的。如果您希望在设计时或编译时生成代码,则应使用T4模板。
T4允许您按照希望的方式格式化代码输出:
答案 1 :(得分:0)
在Visual Studio中,转到
工具 - &gt;操作 - 文本编辑器 - &gt; C# - &gt;格式化
Ctrl - K - D 将使用那里的设置来格式化代码。