Erreur du compilateur CS0218
Le type ('type') doit contenir les déclarations de l’opérateur true et de l’opérateur false
Si un type défini par l’utilisateur surcharge l’&opérateur ou | opérateur, il doit également définir les opérateurs vrais et faux, afin de rendre l’&& opérateur ou || opérateur défini.
L’exemple suivant génère l’erreur CS0218 :
// CS0218.cs
using System;
public class MyClass
{
// uncomment these operator declarations to resolve this CS0218
/*
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 MyClass operator & (MyClass f1, MyClass f2)
{
return new MyClass();
}
public static void Main()
{
MyClass f = new MyClass();
int i = f && f; // CS0218, requires operators true and false
}
}
Collaborer avec nous sur GitHub
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :