Freigeben über


Compilerfehler CS0646

Aktualisiert: November 2007

Fehlermeldung

Das DefaultMember-Attribut kann nicht für einen Typ angegeben werden, der einen Indexer enthält
Cannot specify the DefaultMember attribute on a type containing an indexer

Wenn eine Klasse oder ein anderer Typ System.Reflection.DefaultMemberAttribute angibt, kann sie bzw. er keinen Indexer enthalten. Weitere Informationen finden Sie unter Eigenschaften.

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