Error del compilador CS0075
Para convertir un valor negativo, el valor debe ir entre paréntesis
Si realiza la conversión mediante una palabra clave que identifica un tipo predefinido, no son necesarios los paréntesis. De lo contrario, debe colocar los paréntesis porque (x) – y no se considerará una expresión de conversión. De la especificación C#, sección 7.6.6:
De la regla de desambiguación se deduce que, si x e y son identificadores, (x)y, (x)(y) y (x)(-y) son expresiones de conversión, pero (x)-y no, aunque x identifique un tipo. Sin embargo, si x es una palabra clave que identifica un tipo predefinido (como int), entonces las cuatro formas son expresiones de conversión (porque esta palabra clave no puede ser una expresión por sí misma).
El código siguiente genera el error 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
}
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: