मैं जेनेरिक के लिए बहुत नया हूं और मैं एक साधारण वर्ग लिखने की कोशिश कर रहा हूं जो सामान्य होगा लेकिन स्ट्रिंग सदस्य चर पर कुछ विवरणों को क्रमबद्ध करने की अनुमति भी देगा।जेनिक्स और कार्यान्वयन IComparable
इस समय मेरे पास एक मूल वर्ग है लेकिन जब मैं इंटरफ़ेस सदस्य तुलना करने की कोशिश करता हूं तो तुलनात्मक() मुझे शीर्ष पर एक त्रुटि मिलती है जो मुझे बताती है कि यह लागू नहीं किया गया है। यहाँ क्या मुद्दा है?
using System;
namespace GenericsPracticeConsole.Types
{
class SortableGenericType<T> : IComparable
{
private T t;
private string stringName;
public T name
{
get { return t; }
set { t = value; }
}
public int CompareTo(SortableGenericType<T> ourObject)
{
return stringName.CompareTo(ourObject.stringName);
}
}
}
मैं नहीं करूँगा अगर (obj.GetType()! = GetType()) वापसी -1; ', क्योंकि तब आपकी तुलना एंटीसिमेट्रिक या रिफ्लेक्सिव नहीं है। – porges
सच है। लेकिन मुझे नहीं पता कि मुझे उस मामले में क्या करना है। आपका सुझाव क्या होगा? –
अपने दूसरे तुलना में फ़ंक्शन में आप इस लाइन का उपयोग करते हैं: तुलना करें तुलना करें (ओब्जे सॉर्टेबल जेनरिक टाइप); क्या यह लाइन वर्तमान में उस मौजूदा वस्तु की तुलना करती है जो हमारे पास वास्तव में लाइन में वर्तमान आइटम को संदर्भित किए बिना पास की गई है? –
CSharpened