2011-08-10 17 views
6

मैं एक C++/CLI वर्ग है:पहुँच C++/CLI अतिभारित [] सी # में ऑपरेटर

public ref class Foobar 
{ 
    public: 
     // methods here etc.. 

     // operator overload 
     double operator[](int index); 
} 

मैं कैसे यह देखते हुए कि मैं कोशिश की है सी # से Foobar का उपयोग करते हैं:

Foobar foo = new Foobar(); 
int i = foo[1]; 

और मैं CS0021: Cannot apply indexing with [] to an expression of type 'Foobar'

उत्तर

6

operator[] सी में विशेष उपचार हो जाता है मिल ++/CLI (और सभी नेट भाषाओं) – बल्कि एक ऑपरेटर के रूप में परिभाषित किया जा रहा से, यह एक के रूप में परिभाषित किया है default नाम की संपत्ति, जिसे the default index property के नाम से जाना जाता है।

public ref class Foobar 
{ 
public: 
    // methods here etc.. 

    property double default[int]; 
} 
+1

आप * * डिफ़ॉल्ट इंडेक्सर के बारे में बात कर रहे हैं। जो * अनुक्रमित गुणों का एक विशेष मामला है *। –

संबंधित मुद्दे