2015-11-02 4 views
2

Я пытаюсь реализовать T4 template для создания некоторого избыточного кода csharp. Мой шаблон получает тип объекта, переданный в следующем порядке: GenericTextFormatter<<#=type>>, где тип typeof(objectA) и т. Д. Таким образом, я ожидал сгенерированный вывод GenericTextFormatter<ObjectA>, однако у шаблона возникают проблемы с отображением внешних угловых скобок, и вместо этого я не вижу выхода для этой части.Как вывести <Type> внутри шаблона T4

+0

t4 является _text_ шаблон, так что вы должны пройти к выходу не 'type' объекта, но введите имя или введите полное имя – Grundy

+0

Проблема заключается в том описанный выше, с кодом, который вызывает мою проблему. Я уверен, что кто-то, кто знаком с шаблонами T4, должен был это видеть раньше. – eYe

ответ

3

Вы забыли закрыть #. Попробуйте GenericTextFormatter<<#=type #>>.

в качестве эталона, следующие выходы t4 код List<System.String>:

<#@ template debug="false" hostspecific="false" language="C#" #> 
<#@ assembly name="System.Core" #> 
<#@ import namespace="System.Linq" #> 
<#@ import namespace="System.Text" #> 
<#@ import namespace="System.Collections.Generic" #> 
<#@ output extension=".txt" #> 

<# 
    var type = typeof(string); 
#> 

List<<#= type #>> 
+1

Так оно и было, полностью потеряла мою концентрацию, спасибо! – eYe

 Смежные вопросы

  • Нет связанных вопросов^_^