Lire en anglais

Partager via


Erreur du compilateur CS0646

Impossible de spécifier l'attribut DefaultMember sur un type contenant un indexeur

Si une classe ou un autre type spécifie System.Reflection.DefaultMemberAttribute, elle ne peut pas contenir d’indexeur. Pour plus d'informations, consultez Propriétés.

L’exemple suivant génère l’erreur 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;  
}