Lezen in het Engels

Delen via


Compilerfout CS0217

Als u van toepassing wilt zijn als een operator voor kortsluiting, moet een door de gebruiker gedefinieerde logische operator (operator) hetzelfde retourtype hebben als het type van de twee parameters.

Als u een operator definieert voor een door de gebruiker gedefinieerd type en vervolgens de operator probeert te gebruiken als een operator voor kortsluiting, moet de door de gebruiker gedefinieerde operator parameters en retourwaarden van hetzelfde type hebben. Zie operator en|| operator voor meer informatie over kortsluitingsoperatoren&&. Zie de sectie Door de gebruiker gedefinieerde logische operators van de C#-taalspecificatie voor meer informatie over door de gebruiker gedefinieerde kortsluiting of voorwaardelijke operatoren.

In het volgende voorbeeld wordt CS0217 gegenereerd:

// CS0217.cs  
using System;  
  
public class MyClass  
{  
   public static bool operator true (MyClass f)  
   {  
      return false;  
   }  
  
   public static bool operator false (MyClass f)  
   {  
      return false;  
   }  
  
   public static implicit operator int(MyClass x)  
   {  
      return 0;  
   }  
  
   public static int operator & (MyClass f1, MyClass f2)   // CS0217  
   // try the following line instead  
   // public static MyClass operator & (MyClass f1, MyClass f2)  
   {  
      return new MyClass();  
   }  
  
   public static void Main()  
   {  
      MyClass f = new MyClass();  
      int i = f && f;  
   }  
}  

Zie ook