ERROR

Auf ArcObjects-WriteOnly-Eigenschaften kann nicht zugegriffen werden, und diese lösen den Kompilierungsfehler BC30643 Der Typ der Eigenschaft wird nicht unterstützt" in Microsoft Visual Studio 2015 mit VB.NET aus"

Last Published: April 25, 2020

Fehlermeldung

Bei dem Versuch, ArcObjects-Code zum Festlegen einer Schnittstelleneigenschaft mit einem Eingabeparameter (der in der Regel ein Index ist) zu kompilieren, gibt Visual Studio 2015 den folgenden Compiler-Fehler zurück:

Error: 
BC30643 Der Typ der Eigenschaft 'ESRI.ArcGIS.xxx' wird nicht unterstützt

Visual Basic

Error: 
BC30643 Der Typ der Eigenschaft wird nicht unterstützt (Visual Basic)

Hier ein Beispiel, in dem "IFieldsEdit" verwendet wird.

        Dim pFieldEdit As IFieldEdit = pField
        pFieldEdit.Name_2 = "OBJECTID"
        pFieldEdit.AliasName_2 = "FID"
        pFieldEdit.Type_2 = esriFieldType.esriFieldTypeOID

        Dim pFieldsEdit As IFieldsEdit = pFields
        pFieldsEdit.FieldCount_2 = 2
        pFieldsEdit.Field_2(0) = pField

C#

Bei dem Versuch, ArcObjects-Code zum Festlegen einer Schnittstelleneigenschaft mit einem Eingabeparameter (der in der Regel ein Index ist) zu kompilieren, gibt Visual Studio 2015 den folgenden Compiler-Fehler zurück:

Error:  
CS1546 Die Eigenschaft, der Indexer oder das Ereignis wird von der Sprache nicht unterstützt. 
Rufen Sie die Accessormethode direkt auf.
Hier ein Beispiel, in dem "IFieldsEdit" verwendet wird.
            IField field = new Field();
            IFieldEdit fieldEdit = field as IFieldEdit;
            fieldEdit.Name_2 = "OBJECTID";
            fieldEdit.AliasName_2 = "FID";
            fieldEdit.Type_2 = esriFieldType.esriFieldTypeOID;

            IFields fields = new Fields();
            IFieldsEdit fieldsEdit = fields as IFieldsEdit;
            fieldsEdit.Field_2[0] = field;

Ursache

Mehrere WriteOnly-Eigenschaften mit Eingabeparametern sind davon betroffen und können mit Visual Basic in Visual Studio 2015 nicht aufgerufen werden. Dazu gehören unter anderem die folgenden:

  • IFieldsEdit
  • IGeometryDefEdit
  • ITableSort
  • ISpatialJoin
  • ISymbolCollectionElement

Lösung oder Problemumgehung

Workaround für Visual Basic
Um das Problem mit Visual Basic zu umgehen, verwenden Sie zum Kompilieren und Debuggen des Codes Visual Studio 2013.

Workaround für C#
Wenn Sie C# verwenden, schreiben Sie den Code nach der Compiler-Ausgabe neu, wie nachfolgend dargestellt:

            IFields fields = new Fields();
            IFieldsEdit fieldsEdit = fields as IFieldsEdit;
            //fieldsEdit.Field_2[0] = field;
            fieldsEdit.set_Field(0, field);

Dadurch wird der Compiler-Fehler behoben.

Artikel-ID: 000001060

Holen Sie sich Unterstützung mit KI

Lösen Sie Ihr Problem schnell mit dem Esri Support AI Chatbot.

Beginnen Sie jetzt mit dem Chatten

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Beginnen Sie jetzt mit dem Chatten

Zu Download-Optionen wechseln