मेरे पास एक कार्यक्रम है जिसे तेज प्रदर्शन की आवश्यकता है। इसकी आंतरिक छोरों में से एक के भीतर, मुझे यह देखने के लिए एक ऑब्जेक्ट के प्रकार का परीक्षण करने की आवश्यकता है कि क्या यह एक निश्चित इंटरफ़ेस से विरासत में मिला है।
ऐसा करने का एक तरीका सीएलआर के अंतर्निहित प्रकार की जाँच कार्यक्षमता के साथ होगा। संभवत: सबसे सुंदर तरीका 'कीवर्ड' है:
if (obj is ISpecialType)
एक और तरीका यह होगा कि बेस क्लास को मेरा अपना वर्चुअल गेट टाइप () फंक्शन दिया जाए जो पहले से परिभाषित एनम वैल्यू देता है (मेरे मामले में, वास्तव में, मुझे केवल एक बूल की जरूरत है)। यह विधि तेज़ होगी, लेकिन कम सुरुचिपूर्ण।
मैंने सुना है कि विशेष रूप से 'is' कीवर्ड के लिए एक IL निर्देश है, लेकिन इसका मतलब यह नहीं है कि मूल असेंबली में अनुवादित होने पर यह तेजी से निष्पादित होता है। क्या कोई अन्य विधि बनाम 'के प्रदर्शन में कुछ अंतर्दृष्टि साझा कर सकता है?
अद्यतन: सभी सूचित जवाब के लिए धन्यवाद! ऐसा लगता है कि उत्तर के बीच कुछ सहायक बिंदुओं को फैलाया गया है: एंड्रयू के बारे में 'का कहना है' स्वचालित रूप से एक कलाकार का प्रदर्शन आवश्यक है, लेकिन बाइनरी वॉरियर और इयान द्वारा एकत्र किया गया प्रदर्शन डेटा भी बेहद उपयोगी है। यह बहुत अच्छा होगा यदि किसी एक उत्तर को सभी सूचनाओं को शामिल करने के लिए संपादित किया जाए ।