0

こんにちは、アプリをすばやく構築するのに役立つ小さなフレームワークを構築しています。私はジェネリックを使用して、定型コードを繰り返し記述するのを避けるのに役立つあらゆる種類の手法を使用しています。

私のフレームワークでは、モデル オブジェクトに基づいてコードを生成するのは良い考えだと思います。MonoTouch では JIT コンパイルを使用できないことはわかっていますが、いくつかのテンプレートを使用して、コンパイルの直前にコードを生成すると便利だと思います。

MonoTouch でコンパイルする前にコードを生成するのに役立つユーティリティはありますか?

誰もがこのアプローチを実験しましたか?

4

2 に答える 2

0

非常に具体的な理由がない限り、追加のコードを生成することが役立つ理由がわかりません。

MonoTouch の AOT プロセスは、使用しているジェネリック型を自動的に判断し、それらのネイティブ コードのみを生成します。

考えられる具体的な理由は、AOT コンパイラが使用しているジェネリック型を特定できない場合があるためです (ただし、実際に問題が発生する前にこの問題を解決しようとするべきではありません。念のためコードを生成します)。コンパイル時間が遅くなり、アプリが大きくなり、デバイスへのアップロード/インストールプロセスが遅くなるだけです...何の利益もありません)。

于 2012-10-10T12:10:16.183 に答える
0

VS で使用するように、MonoDevelop で T4 テンプレートを使用します。

次のような .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 に答える