के साथ कोई समस्या है ठीक है तो मेरे पास नीचे दिए गए कोड के समान परिदृश्य है, मेरे पास एक अभिभावक वर्ग है जो आईसीओम्पेर्बल और बाल वर्ग लागू करता है।मुझे IComparable और संग्रह सॉर्ट विधि
class Parent : IComparable<Parent>
class Child : Parent
Child a = new Child();
Child b = new Child();
a.CompareTo(b);
अब ऊपर काम करता है ठीक, मैं तुलना कर सकते हैं बच्चे के दोनों एक दूसरे के लिए कोई समस्या नहीं
List<Child> l = new List<Child>();
l.Add(b);
l.Add(a);
l.Sort();
ऊपर हालांकि एक InvalidOperationException के साथ विफल वस्तुओं। क्या कोई कृपया बता सकता है कि यह वर्ग काम क्यों नहीं कर रहा है जब बच्चा वर्ग आईसीओपरपेबल इंटरफ़ेस को कार्यान्वित करता है, या कम से कम ऐसा लगता है कि यह करता है।
यहाँ ठीक है
public int CompareTo(IDType other)
{
return this.Name.ToString().CompareTo(other.ToString());
}
आपका नमूना कहते हैं, "नई सूची()" जो मेरा अनुमान है कि कोई गलती है ... सूची बना रहे हैं, पर वास्तविक सामान्य प्रकार क्या है? –
ओह क्षमा करें हाँ यह एक टाइपो था, मेरी सूची एल = नई सूची (); मुझे लगता है कि यह काफी स्पष्ट है कि मैं जेनेरिक प्रकार की सूची बना रहा था। –
CalvinR
क्या हम आपके आईसीओपरपेबल कार्यान्वयन से कोड देख सकते हैं? –