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

Hilfe von ArcGIS-Expert*innen erhalten

Technischen Support kontaktieren

Die Esri Support-App herunterladen

Zu den Download-Optionen

Weitere Informationen zu diesem Thema erkunden