मैं कर रहा हूँ एक कस्टम नियंत्रण के लिए इसी तरह की एक ItemsControl
तो यह एक Items
संपत्ति मैं करने के लिए चाहते हो सकता है bindable करने के लिए लेकिन क्रम में के लिए अपने नियंत्रण अद्यतन करने के लिए, संपत्ति को लागू करना चाहिए INotifyCollectionChanged
. मैं करना चाहते हैं उपयोगकर्ता सक्षम होना करने के लिए बाध्य करने के लिए किसी भी वस्तु इतने लंबे समय के रूप में यह लागू करता है दोनों INotifyCollectionChanged
और IList
.
जबकि सरल समाधान है बनाने के लिए एक नया इंटरफेस सूची की तरह
public interface INotifyCollectionChangedAndList : INotifyCollectionChanged, IList { }
की आवश्यकता है और यह विरासत में मिला हो, पर अपने कस्टम संग्रह की वस्तुओं.
हालांकि, ऐसा करने के बजाय वे भी होना चाहिए का उपयोग करने में सक्षम मानक ObservableCollection<T>
के रूप में अच्छी तरह से करता है, जो दोनों के वारिस INotifyCollectionChanged
और IList
लेकिन यह करता है नहीं वारिस INotifyCollectionChangedAndList
और मैं वास्तव में नहीं है पर नियंत्रण है. इसी तरह अगर वे का उपयोग एक अलग पुस्तकालय के साथ एक प्रकार है कि वे नियंत्रण नहीं कर सकते हैं कि को लागू करता है दो इंटरफेस यह अभी भी काम करना चाहिए.
तो मेरा सवाल है अगर वहाँ एक तरह से, आसान या अन्यथा (यानी प्रतिबिंब), जहां मैं निर्दिष्ट कर सकते हैं किसी भी प्रकार का इस्तेमाल किया जाना चाहिए लागू सभी आवश्यकताओं के दो (या अधिक) इंटरफेस के बिना स्पष्ट SomeClass : INotifyCollectionChangedAndList
?
संपादित करें
मुझे विश्वास है कि जवाब है कोई. तो मैं कर रहा हूँ मार्क @बेंजामिन जवाब के रूप में सही है, हालांकि, क्योंकि यह नहीं हो सकता है सबसे अच्छा नियंत्रण के लिए लेखकों, यह अन्य मामलों में हो सकता है निकटतम बात करने के लिए मैं क्या होगा अन्यथा की तरह प्राप्त करने के लिए ।