2010-02-22 11 views
5

मैं वर्तमान में लागू करने वाली निहित संस्थाओं के साथ ITypedList लागू करता है जो डेटा संग्रह का उपयोग कर अपने डब्ल्यूपीएफ ग्रिड को पॉप्युलेट कर रहा हूं। सभी गुण रनटाइम पर निर्धारित किए जाते हैं।टाइप डिस्क्रिप्शनप्रोवाइडर/हाइपरडिस्क्रिप्टर कार्यान्वयन

मैं प्रदर्शन को तेज करने में सहायता के लिए HyperDescriptor को कार्यान्वित करना चाहता हूं, लेकिन उस पृष्ठ पर उदाहरण रनटाइम गुणों के बजाए ज्ञात प्रकारों को संदर्भित करता है।

मुझे लगता है कि मुझे एक कस्टम GetProperties() विधि या हाइपरटाइपडिस्क्रिप्टर को बताने के समान ही लागू करने की आवश्यकता होगी, इसे देखने के लिए किन संपत्तियों की आवश्यकता है, लेकिन मुझे यकीन नहीं है कि यह कहां सेट किया जाना चाहिए। मुझे लगता है कि यह मुश्किल नहीं है, लेकिन मुझे कुछ याद आ रही है।

कोई भी सुझाव बहुत सराहना की!

उत्तर

4

HyperDescriptor कार्यान्वयन वास्तव में संकलन-समय गुणों के लिए विशिष्ट है, क्योंकि यह ILGenerator आदि का उपयोग करता है और जेनरेट कोड को कैश करता है। आप ICustomDescriptor उपयोग कर रहे हैं आप पहले से ही एक बहुत ही अलग प्रदर्शन प्रोफ़ाइल में हैं - उदाहरण के लिए, यदि एक शब्दकोश या एक संपत्ति-बैग के रूप में हैश तालिका के खिलाफ अपने कस्टम PropertyDescriptor काम वे पहले से ही काफी तेजी कच्चे प्रतिबिंब से हो सकता है।

इसे और अनुकूलित करने के लिए संभव हो सकता है, लेकिन मुझे विशिष्ट कार्यान्वयन के बारे में और जानना होगा। लेकिन यह गैर-मामूली काम होगा, इसलिए पहले स्वयं को संतुष्ट करें कि यह सदस्य-पहुंच वास्तव में एक बाधा है, और आप पहले पेजिंग या "आभासी मोड" जैसी कुछ सरल नहीं कर सके।

(स्पष्टीकरण: मैं HyperDescriptor के लेखक हूँ, इसलिए मैं इस क्षेत्र में अच्छी तरह से जानते हैं)

+0

स्पष्टीकरण के लिए धन्यवाद, मैं उम्मीद कर रही थी जो इस प्रश्न देखना चाहते हैं! मैं पहले अपने ऐप पर कुछ और प्रोफाइलिंग चलाऊंगा, और शायद रनटाइम संपत्ति प्रदर्शन सुधारों के बारे में एक और सवाल पोस्ट करना चाहिए, जो ज़रूरत है (मैं इससे लिंक करूंगा)। – Marcus

संबंधित मुद्दे