asp.netのクラスファイルに対するt4テンプレートの利点は何ですか?
t4 テンプレートを使用して強く型付けされたクラスを生成しているように。asp.net の c# クラス ファイルを使用して同じことを行うことができます。では、通常のクラス ファイルに対する t4 テンプレートの利点は何でしょうか?
クラスファイルを介してt4を実装できるシーンを誰でも指摘してください。
よろしく、 スジット
簡単に言うと、T4 テンプレートは、Entity Framework モデルなどの入力データに基づいて、ユーザー (およびその他のファイル) のクラスを生成できます。これは、同じ機能を持つ多くのクラス (大規模な Entity Framework モデルのすべてのエンティティのクラスなど) を作成する必要がある場合に非常に便利です。その後、T4 テンプレートはジョブを実行し、入力が変更された場合に作成されたクラスを自動的に更新します (入力ファイルで「カスタム ツール」を実行して、T4 テンプレートを実行することもできます)。
T4 テンプレートは (もちろん) 部分クラスを作成して、(作成したクラスの他の部分に) メンバーを追加できるようにします。このようにして、テンプレートがクラスを再作成するときに上書きされない機能を追加できます。
EF モデルに基づいて POCO クラス (.NET 4.5 の EF の既定値) を生成する T4 テンプレートは、T4 テンプレートを適切に使用するための完璧な例です。もう 1 つの例は、EF モデルのすべてのエンティティ クラスのビュー モデル基本クラス (MVVM 用) を作成する T4 テンプレートです。
他のコードを書くコードを書くことができます。単一の場所にリファクタリングできないものや、T4 (または任意のコード生成) を介してより簡単に一元化できるものがあります。
1 つの中央ドライバーが複数のファイルを必要とするコード、またはそれに基づいて変更される単一のファイル内の多数のコードが必要になる可能性があります。
それをうまく利用する別の方法...私はテンプレートを使用して、ファイル、a 、a、およびファイルT4
を生成する小さな C# オブジェクトを作成しました。一連のルールに基づいて、すべて単一の C# オブジェクトから。そのため、1 つの C# テンプレートからいくつかの有用なファイルを生成しています。その型を保持するテーブルを作成するために必要な .sql を生成することができます。項目に関連する構成値を定義する .xsl または .xml、強く型付けされたモデルを JavaScript に取り込む .js ファイル、最後に c# の実際のモデルの .cs です。.sql
.xsl
.js
.cs
MSDNチュートリアルから引用した次の引用から始めます。
T4 テキスト テンプレートは、テキスト ブロックと、テキスト ファイルを生成できる制御ロジックを組み合わせたものです。制御ロジックは、Visual C# または Visual Basic でプログラム コードのフラグメントとして記述されます。生成されるファイルは、Web ページ、リソース ファイル、任意の言語のプログラム ソース コードなど、任意の種類のテキストにすることができます。
T4 テンプレートは、動的テキストを生成するために使用されます。これは、クラスでさえあります。エンティティ フレームワークまたは DataSet デザイナーは、ユーザーがデータベースからデザイナーにエンティティをグラフィカルにドラッグ アンド ドロップし、データベース テーブルを反映するすべてのクラスを生成できるようにすることで、デザイン時のコード生成の良い例です。
内部では、カスタム ツールが、生成された設計時の XML を C# クラスに変換します。この背後にあるメカニズムは、T4 テンプレートが行うことと似ています。
この概要が、T4 テンプレートがどのように役立つかについての理解を深めるのに役立つことを願っています。