Error del compilador CS1545
Actualización: noviembre 2007
Mensaje de error
El lenguaje no admite la propiedad, el indizador o el evento 'propiedad'; intente llamar directamente a los métodos de descriptor de acceso 'descriptor de acceso set' o 'descriptor de acceso get'
Property, indexer, or event 'property' is not supported by the language; try directly calling accessor methods 'set accessor' or 'get accessor'
El código desarrollado utiliza un objeto que posee un indizador no predeterminado e intenta usar la sintaxis indizada. Para resolver este error, llame al método de descriptor de acceso get o set de la propiedad.
Ejemplo
// CPP1545.cpp
// compile with: /clr /LD
// a Visual C++ program
using namespace System;
public ref struct Employee {
Employee( String^ s, int d ) {}
property String^ name {
String^ get() {
return nullptr;
}
}
};
public ref struct Manager {
property Employee^ Report [String^] {
Employee^ get(String^ s) {
return nullptr;
}
void set(String^ s, Employee^ e) {}
}
};
El código siguiente genera el error CS1545.
// CS1545.cs
// compile with: /r:CPP1545.dll
class x {
public static void Main() {
Manager Ed = new Manager();
Employee Bob = new Employee("Bob Smith", 12);
Ed.Report[ Bob.name ] = Bob; // CS1545
Ed.set_Report( Bob.name, Bob); // OK
}
}