WinRT

2012-11-13 16 views
8

में दिए गए इंटरफ़ेस को लागू करने वाले सभी वर्गों को प्राप्त करना मैं विंडोज 8 स्टोर ऐप्स में एक निश्चित इंटरफ़ेस को लागू करने वाले वर्गों की एक सूची प्राप्त करने का प्रयास कर रहा हूं लेकिन ऐसा लगता है कि WinRT में प्रतिबिंब बहुत अलग है और अब तक मैं नहीं कर सका ऐसा करने का एक अच्छा उदाहरण पाएं।WinRT

क्या कोई जानता है कि वर्तमान असेंबली और लूप को कैसे लोड किया जाए?

किसी भी मदद की बहुत सराहना कर रहा है :)

+0

आप को पता है जो कक्षाओं आप क्योंकि यह अच्छी तरह से प्रलेखित उपयोग कर सकते हैं की जरूरत है। –

+0

@ रामहाउंड मुझे यकीन नहीं है कि आप क्या पूछ रहे हैं, मेरे परिदृश्य में मेरे पास 100 से अधिक नियम हैं और प्रत्येक नियम का एक अद्वितीय नाम है और आईर्यूल इंटरफ़ेस लागू करता है। मैं आईर्यूल इंटरफेस को लागू करने वाले सभी वर्गों को प्राप्त करना चाहता हूं। –

+0

क्या आपने इसे [थ्रेड] देखा है (http://stackoverflow.com/questions/13373000/in-metro-get-all-inherited-classes-of-an-abstract-class)? शायद यह मदद से आप एनजी –

उत्तर

10

MSDN मंचों से एक जवाब मिल गया। अगर कोई और एक ही चीज़ की तलाश में है तो बस इसे यहां पोस्ट करें।

इस कोड को सभी वर्गों कि IDisposable इंटरफ़ेस को लागू हो जाएगा:

// We get the current assembly through the current class 
var currentAssembly = this.GetType().GetTypeInfo().Assembly; 

// we filter the defined classes according to the interfaces they implement 
var iDisposableAssemblies = currentAssembly.DefinedTypes.Where(type => type.ImplementedInterfaces.Any(inter => inter == typeof(IDisposable))).ToList();