我有一个用 T4 制作的自定义小“视图”引擎。基本上,它所做的就是使用带有特殊指令的“静态”HTML 文件并输出如下内容:
StringBuilder output...
output.Append("<html> my code blah");
if(MyParameter!=null){
output.Append(MyParameter.ToString);
}
output.append("more code");
return output.ToString();
当然,它的意义远不止于此,但这就是要点。它接受一个 HTML 文件并生成一个普通的旧 C# 类。
我真的很喜欢这种方式,因为我可以拥有静态类型的视图。不幸的是,这似乎有点慢。我的问题尤其是我有一个index
包含多个视图的blog entry
视图,所以基本上相同的基本字符串最终会被构建,只是根据提供的参数在这里和那里有一些不同的文本。
无论如何,我想知道是否有任何方法可以加快这个过程。真的有什么比 StringBuilder 更快的吗?
另外,不要担心“不干净”的代码。因为我使用 T4 来生成这些视图类,所以我可以编写一些非常 hack-ish 的代码,这并不重要,因为我基本上只编写一次。