共用方式為


編譯器錯誤 CS0035

更新:2007 年 11 月

錯誤訊息

運算子 'operator' 用在型別 'type' 的運算元上時其意義會模稜兩可

編譯器具有一個以上的可用轉換,因此在套用運算子之前,不知道要選擇哪一個轉換。如需詳細資訊,請參閱Templated User Defined Conversions轉換運算子 (C# 程式設計手冊)

下列範例會產生 CS0035:

// CS0035.cs
class MyClass
{
   private int i;

   public MyClass(int i)
   {
      this.i = i;
   }

   public static implicit operator double(MyClass x)
   {
      return (double) x.i;
   }

   public static implicit operator decimal(MyClass x)
   {
      return (decimal) x.i;
   }
}

class MyClass2
{
   static void Main()
   {
      MyClass x = new MyClass(7);
      object o = - x;   // CS0035
      // try a cast:
      // object o = - (double)x;
   }
}