मैं सोच रहा था कि क्या कई सामान्य बाधाओं को जोड़ना संभव है?सी # एकाधिक सामान्य बाधाएं
मैं एक जोड़ें विधि है कि एक वस्तु (या तो ईमेल, फ़ोन या एड्रेस) लेता है, इसलिए मैं कुछ ऐसा सोच रहा था:
public void Add<T>(T Obj)
where T : Address
where T : Email
where T : Phone
{
if (Obj is Address)
m_Address.Add(Obj as Address);
else if (Obj is Email)
m_Email.Add(Obj as Email);
else
m_Phone.Add(Obj as Phone);
}
लेकिन मैं मिलती रहती है:
"A constraint clause has already been specified for type parameter 'T'. All of the constraints for a type parameter must be specified in a single where clause."
तो, किसी भी अन्य सामान्य IEnumerable की तरह इस तरह के एक ** दृढ़ता से टाइप किया जेनेरिक संग्रह 'विषम types' की ** से अधिक की गणना करने के लिए? –
@ अंगुमन आगरवाल - मुझे लगता है कि यह संग्रह पर 'ऐड' विधि नहीं है क्योंकि इससे बहुत अधिक अर्थ नहीं होगा। –
मान लीजिए, अगर मेरे पास 'IWalk, IRun और IBothWalkRun' इंटरफ़ेस है। अब, मैं सभी प्रकारों में से एक दृढ़ता से टाइप किए गए विषम संग्रह को बनाना चाहता हूं और इस तरह से यह कहता हूं कि यह उन सभी को प्रिंट करता है जो IWalk, IRun और IBothWalkRun? क्या यह समझ में आता है? –