MATLAB R2016a ने किसी ऑब्जेक्ट के गुणों की कक्षा को प्रतिबंधित करने के लिए एक दस्तावेज तंत्र प्रस्तुत किया (मुझे पता है कि ऐसा करने के लिए एक पुराना, अलग, अनियंत्रित तरीका भी है, लेकिन मैं नहीं हूं उस विधि का उपयोग कर)। उदाहरण के लिए:MATLAB: गुणों की प्रतिबंधित श्रेणी की खोज
classdef MyClass
properties
myProperty RestrictedClass
end
end
संपत्ति myProperty
प्रतिबंधित ताकि अपने मूल्यों वर्ग RestrictedClass
का होना चाहिए होगा।
यदि आपने ऐसी कक्षा लागू की है, तो क्या प्रतिबंधित संपत्ति के वर्ग को प्रोग्रामेटिक रूप से खोजने के लिए MATLAB के क्लास मेटाडाटा इंटरफ़ेस का उपयोग करने का कोई तरीका है?
मुझे उम्मीद थी कि अगर मैं
m = ?MyClass;
p = m.PropertyList(1);
इस्तेमाल किया तो metaproperty वस्तु p
वर्ग के बारे में जानकारी होती है जो कि यह प्रतिबंधित था - लेकिन यह नहीं लगता है।
क्या प्रोग्रामेटिक रूप से इसे खोजने का कोई तरीका है? इस विधि को वास्तव में वर्ग को तुरंत चालू करने की आवश्यकता नहीं होगी - दोनों क्योंकि इसका साइड इफेक्ट हो सकता है, और यह भी क्योंकि क्योंकि इसे सार कक्षाओं के साथ काम करने की आवश्यकता होगी।
पीएस कक्षा के स्रोत कोड को पार्स करने की तरह कुछ भी शामिल नहीं है। कल्पना कीजिए कि मैं इसे कक्षा के साथ ऐसा करना चाहूंगा जिसका स्रोत कोड pcode
का उपयोग करके obfuscated किया गया था।