共用方式為


編譯器錯誤 CS1545

更新:2007 年 11 月

錯誤訊息

語言不支援屬性、索引子或事件 'property': 請試著直接呼叫存取子方法 'set accessor' 或 'get accessor'

程式碼正在使用具有非預設索引子的物件,並嘗試使用索引語法。若要解決這個錯誤,請呼叫屬性 (Property) 的 get 或 set 存取子方法。

範例

// 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) {}
   }
};

下列範例會產生 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
   }
}