CS0564 de erro do compilador

Mensagem de erro

O primeiro operando de um sobrecarregado deslocar operador deve ter o mesmo tipo do tipo recipiente e do segundo deve ser int

Você tentou fazer um operador de deslocamento de sobrecarga (<< ou >>) com operandos digitados incorretamente.O primeiro operando deve ser o tipo e o segundo operando deve ser do tipo int.

O exemplo a seguir gera CS0564:

// 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() 
   {
   }
}