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 eseguire il cast di un valore negativo, è necessario racchiuderlo tra parentesi.
To cast a negative value, you must enclose the value in parentheses
Se si esegue il cast utilizzando una parola chiave che identifica un tipo predefinito, le parentesi non sono necessarie. In caso contrario, è necessario inserire le parentesi, altrimenti (x) –y non verrà considerata un'espressione cast. Dalla Specifica del linguaggio C#, sezione 7.6.6:
Dalla regola per la risoluzione dell'ambiguità segue che, se x e y sono identificatori, (x)y, (x)(y) e (x)(-y) saranno espressioni cast, ma non (x)-y, anche se x identifica un tipo. Tuttavia, se x è una parola chiave che identifica un tipo predefinito, ad esempio int, tutte e quattro le forme sono espressioni cast, poiché una parola chiave di questo tipo non può costituire da sola un'espressione.
Il seguente codice di esempio genera l'errore CS0075:
// CS0075
namespace MyNamespace
{
enum MyEnum { }
public class MyClass
{
public static void Main()
{
// To fix the error, place the negative
// values below in parentheses
int i = (System.Int32) - 4; //CS0075
MyEnum e = (MyEnum) - 1; //CS0075
System.Console.WriteLine(i); //to avoid warning
System.Console.WriteLine(e); //to avoid warning
}
}
}