デフォルトの T4 テンプレートを使用して、UML モデルに基づいてコードを生成しています。テンプレート パラメーターを公開するクラスがいくつかあります。これらは期待どおりにコードを生成します。たとえば、MessageResponse
クラスは の Parameter を公開しTMessageType
ます。これにより、期待どおりのコードが生成されます。
public class MessageResponse<TMessageType>
{}
このパラメーターを別のクラスにバインドすると、問題が発生します。たとえばAccountMessageResponse
、テンプレート パラメーターをクラス呼び出し Account にバインドするというクラスを作成します。私が期待しているのは、次のように生成されたクラスです。
public class AccountMessageResponse : MessageResponse<Account>
{}
ただし、コードは生成されません。コード生成の出力ログを見ると、次のメッセージが表示されます。
'RestModels::AccountMessageResponse' - (Class): no file generated because the 'AppliesToElement' method of the template 'ServiceClassTemplate.t4' evaluated to false.
テンプレート化された型のコード生成は、現在の既定のテンプレートではサポートされていませんか? これは自分でやらなければならないことですか、それとも間違ったことをしていますか?
ありがとう