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

ジェネリック型は、型の名前の後にグレイブ アクセント ("`") が続き、その後にジェネリック型引数の数が続く形式でフォーマットされます。

したがって、を削除することで、実際には型が isであり、notであると`1言っていますTreeCategoryTreeCategory<T>

于 2013-08-15T03:14:06.097 に答える