2011-01-18 13 views
7

A class diagramविजुअल स्टूडियो ने मेरी कक्षा को एक घटक के रूप में क्यों चिह्नित किया है?

मैंने इस परियोजना में कुछ कक्षाओं को कॉपी किया है, कुछ अन्य परियोजनाओं से। किसी बिंदु पर वीएस ने Class1 को एक घटक के रूप में चिह्नित किया है (आप उपरोक्त स्क्रीनशॉट में दिखाए गए आइकन से देख सकते हैं)। Class2 ठीक है। वहाँ फ़ाइल गुण और कोई दिलचस्प Class1 और Class2 के बीच कोड में अंतर में कोई अंतर नहीं (सिवाय * देख संपादित नीचे)

यह संकलन या चलने से कोड रोक नहीं करता है। क्या वास्तव में यह एक समस्या है? यह असुविधाजनक है कि यदि आप फ़ाइल को डबल क्लिक करते हैं तो IDE डिज़ाइन विंडो खोलने का प्रयास करता है।

यह कैसे होता है, और कैसे ठीक किया जाए?

संपादित करें: वास्तव में, कोड विंडो में दिलचस्प अंतर हैं। कम से कम, कोड के बड़े हिस्से को हटाने के बाद, समाधान एक्सप्लोरर को फ़ाइल को कक्षा फ़ाइल में वापस करने का कारण बनता है। खंड को पुनर्स्थापित करें और फ़ाइल घटक होने के लिए वापस जाती है। वर्तमान में ... जांच कर रहा है।

उत्तर

12

मुझे यकीन नहीं है कि यह क्यों करता है, लेकिन मुझे पता है कि इससे कैसे छुटकारा पाना है। आपकी कक्षा डालने से पहले:

[System.ComponentModel.DesignerCategory("Code")] 

यह काम करना चाहिए।

+0

काम करता है! धन्यवाद। – hawbsl

+0

आपके पास विशेषता में मौजूद संपूर्ण क्वालीफायर होना चाहिए (जैसा कि ऊपर बताया गया है), भले ही आपके पास System.ComponentModel के लिए एक उपयोग कथन है। –

3

अपने प्रश्न (this post से लिया जो एक नकली प्रतीत होता है) की "क्यों" भाग के लिए: उनकी विरासत पथ स्वचालित रूप से "घटक" के रूप में इलाज कर रहे हैं पर System.ComponentModel.Component साथ

क्लास विजुअल स्टूडियो (2008) के भीतर, स्रोत फ़ाइल के लिए एक अलग आइकन ट्रिगर करना:

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

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