क्या सी # में केवल कक्षाओं को विस्तारित करना संभव नहीं है बल्कि कार्यों को जोड़कर। पूर्व: मेरे पास एक मानक डीएलएल लाइब्रेरी है जिसका मैं भरोसा कर रहा हूं और विक्रेता इसे संशोधित नहीं करना चाहता है।सी # गुणों को जोड़कर कक्षा बढ़ाएं
पहले से ही कोड में मैंने डेटासेल क्लास का व्यापक रूप से उपयोग किया है और केवल अब एहसास हुआ है कि मुझे इसमें एक अतिरिक्त संपत्ति जोड़ने की आवश्यकता है, क्योंकि इस वर्ग से प्राप्त एक नई एक्सटेंशन क्लास बनाने के लिए ऐसा लगता है कि यह काम करेगा + बहुत सारे पुनर्लेखन।
DataCell [मेटाडाटा]
public class DataCell : Message
{
public int Field1;
public int Field2;
public DataCell()
{
..
}
..
}
मूल रूप से मैं एक सार्वजनिक पूर्णांक झंडे जोड़ना चाहते हैं; इस वर्ग के लिए। तो मैं अब कुछ भी लिखने के बिना कर सकता हूं, (नया डेटासेल)। फ्लैग = 0x10;
आपके पास विस्तार गुण नहीं हो सकते हैं लेकिन आप कक्षा का उत्तराधिकारी बना सकते हैं और गुण जोड़ सकते हैं – Sayse
इस मामले में "विस्तार" से आपका क्या मतलब है? क्या आपके पास स्रोत कोड है? या आप एक विस्तार संपत्ति का उपयोग करना चाहते हैं (जो आप नहीं कर सकते)? या डेटासेल से विरासत में है? – Tim
विस्तार से मेरा मतलब है कि इस वर्ग का उपयोग विक्रेताओं में किया जाता है। डीएल lib जो मैं उपयोग कर रहा हूँ। ExtDataCell की तरह बनाना: DataCell एक विकल्प नहीं है क्योंकि मुझे मूल रूप से .dll lib को फिर से लिखना होगा। तो मैं किसी भी तरह से ऐसा करने में सक्षम होना चाहता हूं ताकि विक्रेताओं से डेटासेल। डीएल में संपत्ति हो सकती है, जिनके पास एटीएम नहीं है। (विक्रेता डीएल संशोधित किए बिना) –