英語で読む

次の方法で共有


コンパイラ エラー CS0646

インデクサーを含む型に対して DefaultMember 属性を指定できません。

クラスまたはその他の型で System.Reflection.DefaultMemberAttributeを指定する場合は、インデクサーを含めることはできません。 詳細については、「 プロパティで定義されているインターフェイスのプライベート C++ 固有の実装です。

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

// CS0646.cs  
// compile with: /target:library  
[System.Reflection.DefaultMemberAttribute("x")]   // CS0646  
class MyClass  
{  
   public int this[int index]   // an indexer  
   {  
      get  
      {  
         return 0;  
      }  
   }  
  
   public int x = 0;  
}  
  
// OK  
[System.Reflection.DefaultMemberAttribute("x")]  
class MyClass2  
{  
   public int prop  
   {  
      get  
      {  
         return 0;  
      }  
   }  
  
   public int x = 0;  
}  
  
class MyClass3  
{  
   public int this[int index]   // an indexer  
   {  
      get  
      {  
         return 0;  
      }  
   }  
  
   public int x = 0;  
}