6

我不知道该怎么称呼它,所以它可能已经被解决了很多次。

我有一个集合的包装类:public class TreeCategory<T> : IEnumerable<T>

在我的xaml我使用的类HierarchicalDataTemplate如下:

<HierarchicalDataTemplate x:Key="m_CategoryTemplate"
     DataType="{x:Type local:TreeCategory`1}"   <--- WHAT IS THIS?!
     ItemsSource="{Binding CategoryCollection}" >
        <TextBox Text="{Binding CategoryName}" />
    </HierarchicalDataTemplate>

所以我的问题是,当我使用local:TreeCategory构建失败时,项目抱怨它不知道类TreeCategory是什么。但是,如果我使用:

TreeCategory`1

然后项目构建良好。

什么是`1,为什么需要?

4

1 回答 1

7

http://msdn.microsoft.com/en-us/library/system.codedom.codetypereference.basetype.aspx

泛型类型的格式为类型名称,后跟一个重音符号(“`”),然后是泛型类型参数的计数。

所以通过删除`1你实际上是在说类型是TreeCategory而不是TreeCategory<T>

于 2013-08-15T03:14:06.097 回答