c# - Complex class declaration confusing forms designer? -
मेरे पास एक वर्ग को घोषित किया गया है:
सार्वजनिक वर्ग फू & lt; T & gt; : पैनल जहां टी: नियंत्रण, IFooNode, new () {...}
मैंने इसे परीक्षण करने के लिए हाथ से जोड़ा, लेकिन मुझे अंततः कुछ ऐसी चीज की आवश्यकता होगी जो कि फॉर्म में प्रदर्शित हो सकती है डिजाइनर। फॉर्म डिज़ाइनर को यह पसंद नहीं है, यह कहते हैं:
प्रकार 'FooTestNameSpace.Foo' नहीं मिला कृपया सुनिश्चित करें कि इस प्रकार के असेंबली को संदर्भित किया गया है। यदि यह प्रकार आपके विकास परियोजना का एक हिस्सा है, तो सुनिश्चित करें कि परियोजना सफलतापूर्वक बनाया गया है।
दिलचस्प है, मैं भी एक चेतावनी मिलती है जो समान होती है, लेकिन सामान्य प्रकार से मैं अपने चर की घोषणा में उपयोग किया। चेतावनी है:
प्रकार 'FooTestNameSpace.Foo & lt; FooTestNameSpace.FooNodeType & gt;' नहीं मिल सका। कृपया सुनिश्चित करें कि इस प्रकार के असेंबली को संदर्भित किया गया है। यदि यह प्रकार आपके विकास परियोजना का एक हिस्सा है, तो सुनिश्चित करें कि प्रोजेक्ट को सफलतापूर्वक बनाया गया है।
मेरे सरल फॉर्म 1 वर्ग में घोषणा है:
निजी FooTestNameSpace.Foo myFoo;
(FooNodeType वास्तव में केवल एक उप-वर्ग है जिसमें एक सहायक संपत्ति का उपयोग नहीं किया जा रहा है, IFooNode को कार्यान्वित करता है)।
तो मेरा प्रश्न ... इस प्रकार के सेट के साथ ऊपर, मैं फ़ूज़ डिज़ाइनर पर फ़ू कैसे प्रदर्शित कर सकता हूं, या कम से कम यह स्वीकार करने के लिए कि फू कानूनी है? क्या कोई डिजाइनर विशेषता है जो इसे संभाल सकता है? मुझे वास्तव में परवाह नहीं है अगर मेरा फू नियंत्रण एक रिक्त बॉक्स के रूप में दिखाई देता है, जब तक यह बिल्कुल दिखाई नहीं देता!
ठीक है, मुझे लगता है मेरे पास एक समाधान है:
वर्ग कंक्रीटएफू सीटीएल: फू सीटीएल & lt; फ़्यूएनोडटाइप & gt; {} वर्ग FooCtl & lt; T & gt; : पैनल जहां टी: नियंत्रण, IFooNode, new () {}
समस्या यह है कि प्रपत्र डिज़ाइनर किसी भी सामान्य नियंत्रण को नियंत्रित नहीं कर सकता फ़ॉर्म डिज़ाइनर FooCtl को संभाल नहीं सकते हैं, लेकिन कंक्रीटफू सीटीएल के साथ कोई समस्या नहीं है एक आदर्श समाधान नहीं, लेकिन मुझे लगता है कि यह कम से कम व्यावहारिक है। हो सकता है कि वी.एस. का अगला संस्करण उपयोगकर्ता को एक सामान्य प्रकार को निर्दिष्ट करने के लिए संकेत देगा, जब एक फ़ॉर्म को जेनेरिक नियंत्रण जोड़ता है ...;)
Comments
Post a Comment