Compilerfehler C3070

Aktualisiert: November 2007

Fehlermeldung

'Eigenschaft': Für die Eigenschaft ist keine 'set'-Methode definiert
'property': property does not have a 'set' method

Die set-Accessormethode einer Eigenschaft wurde nicht definiert. Weitere Informationen finden Sie unter property.

Im folgenden Beispiel wird C3070 generiert:

// C3070.cpp
// compile with: /clr
ref class R {
public:
   R(int size) {
      m_data = gcnew array<int>(size);
   }

   property int % MyProp[int] {
      int% get(int index) { 
         return m_data[index]; 
      }
   }

   property int % MyProp2[int] {
      int% get(int index) { 
         return m_data[index];
      }
      void set(int index, int % value) {}
   }

   property const int % MyProp3[int] {
      const int% get(int index) { 
         return m_data[index];
      }
      void set(int index, const int % value) {}
   }

private:
   array<int>^ m_data;
};

int main() {
   R^ r = gcnew R(10);
   r->MyProp[4] = 4;   // C3070

   int value = 4;
   r->MyProp2[4] = value;   // OK
   r->MyProp3[4] = 4;   // OK
}