नहीं - लेकिन फिर: हाँ ... की क्रमबद्ध करें ...
function getP1(Cl,Rw : integer) : string;
procedure setP1(C1,Rw : integer ; const s : string);
function getP2(const Cl : string ; Rw : integer) : string;
procedure setP2(const C1 : string ; Rw : integer ; const s : string);
property P1[Cl,Rw : integer] : string read getP1 write setP1; default;
property P1[const Cl : string ; Rw : integer] : string read getP2 write setP2; default;
चाल संपत्ति के नाम एक ही है, और "डिफ़ॉल्ट" खंड के साथ दोनों को चिह्नित करने के लिए है। तो फिर तुम विभिन्न मापदंडों के साथ एक ही प्रॉपर्टी के नाम पर पहुंच सकता है:
P1['k',1]:=P1[2,1];
P1[2,1]:=P1['k',1];
संकलित fine.Don't पता है कि अगर यह offcially समर्थित है या अगर कोई इसके साथ कुछ अन्य समस्याओं है, लेकिन यह ठीक
संकलित करता है तथा सही कॉल गेटर/सेटर (डेल्फी 2010 में परीक्षण)।
यह निश्चित रूप से केवल तभी काम करता है जब आप पहले से ही अपनी कक्षा के लिए डिफ़ॉल्ट संपत्ति का उपयोग नहीं करते हैं, क्योंकि एकमात्र तरीका यह है कि मैं इसे डिफ़ॉल्ट क्लॉज के माध्यम से कर सकता हूं।
'ओवरलोड' भी मदद नहीं करेगा ... – Ampere
आप 'variant' या' TField' के साथ एक विधि से चिपक सकते हैं जैसे पैरामीटर, जहां आप विधि में वास्तविक पास प्रकार निर्धारित करते हैं। –
यह _is_ संभव - प्रकार का है। मेरा जवाब देखें ... – HeartWare