编译器错误 CS0564

更新:2007 年 11 月

错误消息

重载移位运算符的第一个操作数的类型必须具有与包含类型相同的类型,并且第二个操作数的类型必须为 int 类型

试图用错误类型的操作数重载移位运算符(<< 或 >>)。第一个操作数必须是该包含类型,并且第二个操作数必须是 int 类型的。

下面的示例生成 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() 
   {
   }
}