CS0151 de erro do compilador
Mensagem de erro
Um valor de tipo integral é esperado
Uma variável foi usada em uma situação onde um tipo de dados era necessário.Para obter mais informações, consulte Tipos (Guia de programação C#).
Exemplo
Este erro pode ocorrer quando não há nenhuma conversão ou se as conversões implícitas disponível resultam em uma situação ambígua.O exemplo a seguir gera CS0151.
// CS0151.cs
public class MyClass
{
public static implicit operator int (MyClass aa)
{
return 0;
}
public static implicit operator long (MyClass aa)
{
return 0;
}
public static void Main()
{
MyClass a = new MyClass();
// Compiler cannot choose between int and long
switch (a) // CS0151
// try the following line instead
// switch ((int)a)
{
case 1:
break;
}
}
}
No Visual Studio 2008 e posterior, um void invocação de método gera CS0151.Você pode corrigir o erro chamando um método que retorna um tipo integral, sistema autônomo int or longo.
class C
{
static void Main()
{
switch (M()) // CS0151
{
default:
break;
}
}
static void M()
{
}
}