6

如何确保从如下代码生成的 CS 格式正确,即好像我们按下了CTRL++ ?它是 C#KD

我们正在做一些事情:

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("};"));
4

2 回答 2

2

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

T4 允许您完全按照您希望的方式格式化代码输出:

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

于 2009-08-28T16:36:23.463 回答
0

在 Visual Studio 中,转到

工具-> Opetions-文本编辑器-> C#-> 格式化

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

于 2009-08-28T16:33:01.943 回答