डेल्फी 2010 में नई विस्तारित आरटीटीआई के साथ, क्या डेल्फी एप्लिकेशन (रन टाइम पर) किसी दिए गए इंटरफ़ेस को लागू करने वाले सभी वर्गों की एक सूची बना सकता है?किसी दिए गए इंटरफ़ेस को लागू करने वाले सभी डेल्फी कक्षाओं का आकलन करें?
8
A
उत्तर
20
तकनीकी रूप से हाँ, जब तक इंटरफ़ेस में GUID है और जिन कक्षाओं की आप परवाह करते हैं वे इकाइयों के इंटरफ़ेस अनुभागों में हैं।
आरटीटीआई इकाई (कक्षा) में एक वर्ग लागू नहीं होने वाले सभी इंटरफेस का वर्णन करने के लिए एक एपीआई नहीं है, लेकिन डेटा प्रकार की जानकारी में है।
एक अंतरफलक प्रकार के लिए GUID इस अभिव्यक्ति से मिल जा सकता है:
GetTypeData(TypeInfo(ITheInterface))^.Guid
या:
ctx: TRttiContext;
// ...
(ctx.GetType(TypeInfo(ITheInterface)) as TRttiInterfaceType).GUID
उदाहरण प्रकार के वर्ग तो TClass.GetInterfaceEntry(IID)
का उपयोग कर जाँच की जा सकती - अगर यह गैर रिटर्न -निल, कक्षा इंटरफेस लागू करता है।
इकाइयों के इंटरफ़ेस अनुभागों में घोषित सभी कक्षाओं को TRttiContext.GetTypes
के माध्यम से पुनर्प्राप्त किया जा सकता है।
वास्तविक पुनरावृत्ति और निष्कर्षण कोड को पाठक के लिए अभ्यास के रूप में छोड़ दिया गया है।
संबंधित मुद्दे
- 1. दिए गए इंटरफ़ेस को लागू करने वाले सभी वर्गों को कैसे ढूंढें?
- 2. मैं किसी दिए गए इंटरफ़ेस को लागू करने वाले सभी लोड किए गए प्रकारों के सभी उदाहरण कैसे प्राप्त करूं?
- 3. इंटरफ़ेस को लागू करने वाले सभी प्रकारों को प्राप्त करना
- 4. किसी विशेष इंटरफ़ेस को लागू करने वाले सभी वर्गों का ट्रैक रखें?
- 5. PHPUnit में दिए गए इंटरफ़ेस को लागू करने वाले नकली ऑब्जेक्ट पर अपरिभाषित विधि?
- 6. कक्षा पथ पर सभी कक्षाओं को कैसे सूचीबद्ध करें जो इंटरफेस के दिए गए सेट को लागू करते हैं
- 7. सभी इंटरफ़ेस सदस्यों को लागू करें
- 8. किसी दिए गए कुंजी
- 9. किसी दिए गए आईडी
- 10. किसी दिए गए शब्द
- 11. एक विशिष्ट इंटरफ़ेस को लागू करने वाले सभी वर्गों को ढूंढना
- 12. किसी दिए गए फ़ाइल
- 13. किसी दिए गए त्रिज्या के अंदर सभी मार्करों को ढूंढना
- 14. सी/सी ++: किसी दिए गए परिभाषा के लिए हेडर फ़ाइलों की श्रृंखला का आकलन कैसे करें?
- 15. किसी दिए गए बिंदु
- 16. किसी दिए गए रंग
- 17. किसी दिए गए प्रकार को विशेषज्ञता देने वाले सभी विधियों को ढूंढें
- 18. किसी दिए गए क्रमपरिवर्तन
- 19. किसी दिए गए सेट के सभी तत्वों को jpql
- 20. किसी दिए गए आकार
- 21. किसी दिए गए हैशटैग
- 22. किसी दिए गए थ्रेड
- 23. किसी दिए गए नंबर
- 24. किसी दिए गए रेंज में सभी संख्याओं का एक्सओआर खोजें
- 25. किसी दिए गए नंबर
- 26. किसी दिए गए बिंदु
- 27. किसी दिए गए यूनिकोड श्रेणी
- 28. किसी दिए गए समयावधि
- 29. किसी दिए गए यूटीटाइप
- 30. किसी दिए गए फ़ॉन्ट