gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:56:03 25 4
gpt4 key购买 nike

如何确保从如下代码生成的 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("};"));

最佳答案

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

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

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

关于c# - 以编程方式格式化生成的 CodeDom 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1348120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com