0

您好我正在构建一个小框架来帮助我快速构建应用程序。我正在使用泛型技术来帮助我避免重复编写样板代码。

我认为对于我的框架来说,基于模型对象生成一些代码是个好主意,我知道在 MonoTouch 中不支持 JIT 编译,但是我认为在编译之前立即使用一些模板生成代码应该很有用。

是否有一个实用程序可以帮助我在 MonoTouch 中编译之前生成代码?

有人尝试过这种方法吗?

4

2 回答 2

0

在 MonoDevelop 上使用 T4 模板,就像在 VS 中使用一样。

创建一个带有 .tt 扩展名和内容的新文件,如下所示:

<#@ template language="C#v3.5" #>
<#@ assembly name="Path/To/your/assembly" #>

<#@ import namespace="Your.Namespace1" #>
<#@ import namespace="Your.Namespace1" #>

// Write your T4 template transformations. 

每次保存 .tt 文件时,都会生成一个嵌套的 .cs 文件。

于 2012-10-15T20:33:01.647 回答
0

我不明白为什么生成额外的代码会有用,除非你有一个非常具体的理由这样做。

MonoTouch 中的 AOT 进程将自动确定您正在使用的泛型类型,并仅为这些类型生成本机代码。

您可能遇到的具体原因是在某些情况下 AOT 编译器无法确定您正在使用哪些泛型类型(但您不应该在实际遇到此问题之前尝试解决此问题 - 生成代码以防万一只会让你的编译时间变慢,你的应用程序更大,上传到设备/安装过程会更慢......没有任何收获)。

于 2012-10-10T12:10:16.183 回答