Udostępnij za pomocą


Błąd kompilatora C3459

"attribute": atrybut dozwolony tylko dla indeksatora klas (domyślna właściwość indeksowana)

Uwagi

Atrybut zaprojektowany do zastosowania do właściwości indeksatora klasy został użyty niepoprawnie.

Aby uzyskać więcej informacji, zobacz How to: Use Properties in C++/CLI (Instrukcje: używanie właściwości w języku C++/interfejsie wiersza polecenia).

Przykład

Poniższy przykład generuje kod C3459.

// C3459.cpp
// compile with: /clr /c
public ref class MyString {
public:
   [System::Runtime::CompilerServices::IndexerName("Chars")]   // C3459
   property int Prop;
};

// OK
public ref class MyString2 {
   array<int>^ MyArr;
public:
   MyString2() {
      MyArr = gcnew array<int>(5);
   }

   [System::Runtime::CompilerServices::IndexerName("Chars")]   // OK
   property int default[int] {
      int get(int index) {
         return MyArr[index];
      }
      void set(int index, int value) {
         MyArr[index] = value;
      }
   }
};