2013-08-15 9 views
6

मुझे नहीं पता कि इसे क्या कॉल करना है, इसलिए इसे पहले से ही कई बार संबोधित किया जा सकता है।एक्सएएमएल डाटाटाइप में रहस्यमय `1

मैं एक संग्रह के लिए एक आवरण वर्ग है: 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 क्या है, यह आवश्यक क्यों है?

उत्तर

7

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

जेनेरिक प्रकार प्रकार एक गंभीर लहजे ("` ") के बाद सामान्य प्रकार तर्क की गिनती के बाद के नाम के साथ प्रारूपित हैं।

तो `1 निकाल कर आप वास्तव में कह रहे हैं प्रकार TreeCategory और नहीं TreeCategory<T>

है