MonoTouch样板代码生成

时间:2012-10-10 12:02:23

标签: compilation mono xamarin.ios boilerplate aot

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

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

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

有人尝试过这种方法吗?

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分: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文件。