Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
Il tipo 'tipo' deve contenere dichiarazioni di operatore true e operatore false.
The type ('type') must contain declarations of operator true and operator false
Se si definisce un operatore per un tipo definito dall'utente e si tenta poi di utilizzarlo come operatore di corto circuito, è necessario che per tale operatore siano definiti l'operatore true e l'operatore false. Per ulteriori informazioni sugli operatori di corto circuito, vedere Operatore && e Operatore ||.
Il seguente codice di esempio genera l'errore 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
}
}