コード ジェネレーターと T4 テンプレートを使用すべきではないと人々が言っているのを聞いたことがあります。その背後にあるロジックは、ジェネレーターでコードを生成している場合、ジェネリックとテンプレートを使用してコードをビルドするより効率的な方法があるということです。
上記の意見には少し同意しますが、たとえば自分自身をインスタンス化できるテンプレートを作成する効果的な方法を実際には見つけられませんでした。言い換えれば、私は決してできません:
return new T();
さらに、データベースの値に基づいてコードを生成したい場合Microsoft.SqlServer.Management.SMO
、T4 テンプレートと組み合わせて使用すると、コピー/貼り付けや resharper を使用せずに大量のコードを生成できることがわかりました。
私が Generics で見つけた問題の多くは、驚いたことに Generics を理解していない開発者が多いことです。解決策としてジェネリックを検討するとき、複雑になることがあります。C# では、私の頭では論理的に見えるかもしれないことを行うことはできないと述べられているからです。
あなたの考えは何ですか?ジェネレーターを構築することを好みますか、それともジェネリックを使用することを好みますか? また、ジェネリックはどこまで行けるのでしょうか? ジェネリックについてはかなりの知識がありますが、T4 テンプレートに頼る原因となる落とし穴や落とし穴が常にあります。
大きな柔軟性が必要なシナリオを処理するためのより適切な方法は何ですか? ああ、この質問のボーナスとして、C# とジェネリックに関する優れたリソースは何ですか?