मैं दो इंटरफेस है:सी # विरासत सवाल
public interface A {
void aMethod();
}
public interface B : A {
void bMethod();
}
बाद में मैं मूल रूप से इस तरह की एक शब्दकोश का उपयोग कर रहा:
Dictionary<int, A> dict = new Dictionary<int, B>();
सी # कह रहा है मैं करने के लिए सही से परिवर्तित नहीं कर सकते बाएं, भले ही मैंने इसे डाला। सी # में जेनेरिक का उपयोग करने का कोई तरीका है ताकि यह काम कर सके? अगर मैं उन्हें सार वर्ग बना देता हूं तो यह ठीक लगता है लेकिन मुझे इन्हें इंटरफेस के रूप में चाहिए।
आप .NET का किस संस्करण का उपयोग कर रहे हैं? – Dinah
@ दीनाः फ्रेमवर्क संस्करण इस मामले में कोई फर्क क्यों पड़ेगा? – LukeH
@LukeH: क्योंकि .NET 4.0 में कॉन्वर्सिस और कॉन्ट्रा-वेरिएंस है जो इसे संबोधित कर सकता है। dmurph 4.0 पर होने के बावजूद समस्या आ रही है, तो समस्या अलग होगा की तुलना में अगर इस मुद्दे को पहले से 4.0 – Dinah