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
Per essere utilizzato come operatore di corto circuito, un operatore logico definito dall'utente ('operatore') deve avere lo stesso tipo restituito dei due parametri.
In order to be applicable as a short circuit operator a user-defined logical operator ('operator') must have the same return type as the type of its 2 parameters.
Se si definisce un operatore per un tipo definito dall'utente e si tenta poi di utilizzarlo come operatore di corto circuito, è necessario che tale operatore disponga di parametri e di valori restituiti dello stesso tipo. Per ulteriori informazioni sugli operatori di corto circuito, vedere Operatore && e Operatore ||.
Il seguente codice di esempio genera l'errore CS0217:
// 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;
}
}
Vedere anche
Riferimenti
Operatori che supportano l'overload (Guida per programmatori C#)