英語で読む

次の方法で共有


コンパイラ エラー CS1545

プロパティ、インデクサー、またはイベント 'property' は、この言語でサポートされていません。アクセサー メソッドの 'set accessor' または 'get accessor' を直接呼び出してください

コードが既定以外の インデクサー を持つオブジェクトを利用して、インデックス付きの構文を使用しようとしています。 このエラーを解決するには、プロパティの get または set アクセサー メソッドを呼び出します。

例 1

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

例 2

次の例では CS1545 が生成されます。

C#
// 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  
   }  
}