के लिए ऑपरेटर मैं "है" ऑपरेटर एक निश्चित वर्ग से ढूँढें:"है" - प्रकार
for(int i=0; i<screens.Count; i++){
if(screen is ScreenBase){
//do something...
}
}
इस रूप में यह है कि ScreenBase से विरासत किसी भी वर्ग नहीं बल्कि आधार वर्ग पाता है विशेष रूप से ठीक काम करता है ScreenBase।
मैं भी ऐसा ही करने के लिए जब मैं केवल प्रकार जानते हैं और वर्ग का दृष्टांत नहीं करना चाहती चाहते हैं:
Type screenType = GetType(line);
if (screenType is ScreenBase)
लेकिन इस comparsion एक चेतावनी के रूप में यह "प्रकार" वर्ग के लिए की तुलना करेंगे पैदा करता है ।
मुझे पता है कि एकमात्र विकल्प == टाइपऑफ के साथ तुलना करना होगा, लेकिन यह केवल सटीक प्रकार के लिए परीक्षण करेगा, न कि विरासत वाले लोगों के लिए। क्या "है" ऑपरेटर जैसा समान व्यवहार प्राप्त करने का कोई तरीका है लेकिन टाइप-क्लास द्वारा वर्णित प्रकार के लिए?