मैं निम्नलिखित इंटरफ़ेसमानचित्रण -> IHandler <T>
public interface IHandler<T>
{
void Handle(T myObject);
}
मैं उनकी संगत हैंडलर के लिए वस्तु प्रकार के बीच एक मानचित्रण धारण के साथ एक HandlersManager
वर्ग करना चाहते हैं, लेकिन मुझे यकीन है कि नहीं कर रहा हूँ मैं इस मैपिंग को पकड़ने वाली ऑब्जेक्ट को कैसे परिभाषित करना चाहता हूं।
उदाहरण के लिए, मैं क्या करना चाहते हैं यह है:
typeof(string) --> instance of IHandler<string>
typeof(MyClass) --> instance of IHandler<MyClass>
सबसे अच्छी बात मुझे बहुत मिल गया अब तक मानचित्रण के लिए Dictionary<Type, object>
परिभाषित करने के लिए, लेकिन इस मामले में मैं मूल्य कास्ट करने के लिए होता था हर बार जब मैं इसे प्राप्त करता हूं IHandler<T>
पर।
क्या कोई बेहतर समाधान या कुछ है जिसे मैंने पूरी तरह याद किया है?
तो 'IHandler' विरासत में मिला 'IHandler' तो आप की' <प्रकार, IHandler> '' बहुत IEnumerable' –
Jodrell
@Jodrell के साथ होता है के रूप में IHandler' एक खाली इंटरफेस होगा के रूप में ', यह वही है एक शब्दकोश हो सकता था 'ऑब्जेक्ट' का उपयोग करते हुए, चूंकि कास्ट अभी भी आवश्यक है। –