मैंने ओवरलोडिंग विधियों के साथ एक समस्या को पार किया है जिसमें अलग-अलग बाधाएं हैं जो अनन्य लगती हैं। यह मेरा उदाहरण है:पहले से ही विभिन्न प्रकार की बाधाओं के साथ परिभाषित एक ही हस्ताक्षर वाले सदस्य
public class A
{
public void Do<T>() where T : class
{
}
public void Do<T>() where T : struct
{
}
}
और यह निम्न त्रुटि "पहले से परिभाषित उसी हस्ताक्षर वाले सदस्य" के साथ संकलित नहीं है। क्या दोनों स्थितियों को एक बार में संतुष्ट करना संभव है या यह सी # कंपाइलर की सीमा है?
कम से कम मुझे आशा है कि यह कहना है कि इन दो बाधाओं अनन्य हैं सही था और यह सिर्फ सीमा है , सही? :) –
@IlyaChernomordik: यह एक सीमा है, लेकिन एक बहुत ही उचित एक आईएमओ है। –
लेकिन यह अनुमति देने में क्या गलत है? मुझे बस एक वर्ग है (मैं जांच सकता हूं कि यह शून्य है या नहीं) के आधार पर अलग-अलग कार्रवाइयां करने की ज़रूरत है या जब यह बहुत लंबा हो (तब मुझे पता है कि मूल्य वहां है)। तो जिस तरीके से लगता है कि अलग-अलग तरीकों को अलग-अलग नाम देना चाहिए। मैं निश्चित रूप से भयानक तरीके से उपयोग नहीं करना चाहता :) :) –