Compilerfehler CS0564

Aktualisiert: November 2007

Fehlermeldung

Der erste Operand eines überladenen Schiebeoperators muss den enthaltenen Typ aufweisen, und der zweite Operand muss eine ganze Zahl sein.
The first operand of an overloaded shift operator must have the same type as the containing type, and the type of the second operand must be int

Es wurde versucht, einen Schiebeoperator (<< oder >>) mit Operanden zu überladen, die über den falschen Typ verfügen. Der erste Operand muss dem Typ selbst und der zweite Operand dem Typ int entsprechen.

Im folgenden Beispiel wird CS0564 generiert:

// CS0564.cs
using System;
class C
{
   public static int operator << (C c1, C c2) // CS0564
// To correct, change second operand to int, like so:
// public static int operator << (C c1, int c2)
   {
      return 0;
   }
   static void Main() 
   {
   }
}