Partager via


Erreur du compilateur CS0646

Mise à jour : novembre 2007

Message d'erreur

Impossible de spécifier l'attribut DefaultMember sur un type contenant un indexeur
Cannot specify the DefaultMember attribute on a type containing an indexer

Si une classe ou un autre type spécifie System.Reflection.DefaultMemberAttribute, il 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;
}