जावा में जैसा कि मैं जानना चाहता हूं कि मेरा संदर्भ इंटरफेस के रूप में घोषित किया गया है या नहीं।कक्षा संदर्भ एक इंटरफ़ेस है या नहीं पहचानने के लिए कैसे?
function foo(classRef:Class){
if(classRef.isInterface(){
//something
}
}
जावा में जैसा कि मैं जानना चाहता हूं कि मेरा संदर्भ इंटरफेस के रूप में घोषित किया गया है या नहीं।कक्षा संदर्भ एक इंटरफ़ेस है या नहीं पहचानने के लिए कैसे?
function foo(classRef:Class){
if(classRef.isInterface(){
//something
}
}
आप AS3 Commons Reflect उपयोग कर सकते हैं यह जानकारी प्राप्त करने तो, यह एक समारोह है। आपका समारोह तो कुछ इस तरह दिखेगा:
function foo(classRef:Class)
{
var type:Type = Type.forClass(classRef);
if (type.isInterface)
{
//something
}
}
मेरा स्वयं का अन्वेषण। यदि श्रेणी इंटरफ़ेस है, तो <factory>
नोड में एक्सएमएल विवरण में यह <constructor>
और <extendsClass>
कभी नहीं होगा।
private function isInterface(type : *):Boolean {
var description : XML = describeType(type);
return (description.factory[0].descendants("constructor").length() == 0
&& description.factory[0].descendants("extendsClass").length() == 0);
}
टेस्ट:
trace(isInterface(IEventDispatcher));
trace(isInterface(Button));
trace(isInterface(int));
trace(isInterface(XML));
trace(isInterface(String));
आउटपुट:
[trace] true
[trace] false
[trace] false
[trace] false
[trace] false
धन्यवाद, कि अच्छा पुस्तकालय के बारे में इस पुस्तकालय के बारे में जानकारी साझा करने के लिए –
धन्यवाद पता नहीं था। – Mady