Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
'accessor': gebruik 'standaard' om toegang te krijgen tot de standaardeigenschap (indexeerfunctie) voor klasse 'type'
Opmerkingen
Er is een geïndexeerde eigenschap onjuist toegeschreven. Zie Procedure: Eigenschappen gebruiken in C++/CLI voor meer informatie.
Visual Studio 2017 en hoger: In Visual Studio 2015 en eerder heeft de compiler in sommige gevallen een standaardeigenschap als standaardindexeerder verkeerd geïdentificeerd. Het was mogelijk om het probleem te omzeilen door de identificator 'default' te gebruiken om toegang te krijgen tot de eigenschap. De tijdelijke oplossing zelf werd problematisch nadat de standaardwaarde werd geïntroduceerd als trefwoord in C++11. Daarom zijn in Visual Studio 2017 de fouten waarvoor de tijdelijke oplossing is vereist, opgelost. De compiler genereert nu een fout wanneer 'standaard' wordt gebruikt voor toegang tot de standaardeigenschap voor een klasse.
Example
In het volgende voorbeeld wordt C3293 gegenereerd in Visual Studio 2015 en eerder.
// C3293.cpp
// compile with: /clr /c
using namespace System;
ref class IndexerClass {
public:
// default indexer
property int default[int] {
int get(int index) { return 0; }
void set(int index, int value) {}
}
};
int main() {
IndexerClass ^ ic = gcnew IndexerClass;
ic->Item[0] = 21; // C3293 in VS2015 OK in VS2017
ic->default[0] = 21; // OK in VS2015 and earlier
String ^s = "Hello";
wchar_t wc = s->Chars[0]; // C3293 in VS2015 OK in VS2017
wchar_t wc2 = s->default[0]; // OK in VS2015 and earlier
Console::WriteLine(wc2);
}