Freigeben über


Compilerfehler CS0646

Das DefaultMember-Attribut kann nicht für einen Typ angegeben werden, der einen Indexer enthält.

Wenn eine Klasse oder ein anderer Typ System.Reflection.DefaultMemberAttributeangibt, darf er keinen Indexer enthalten. Weitere Informationen finden Sie unter Eigenschaftendefiniert sind.

Im folgenden Beispiel wird CS0646 generiert:

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