Error del compilador CS0077
El operador as se debe usar con un tipo de referencia o un tipo que acepta valores NULL ('int' es un tipo de valor que no acepta valores NULL)
Se pasó al operador as un tipo de valor. Dado que as
puede devolver null, solo se le puede pasar un tipo de referencia o un tipo de valor que acepte valores NULL.
Sin embargo, mediante la coincidencia de patrones con el operador is, podemos realizar directamente la comprobación de tipos y las asignaciones en un solo paso.
El ejemplo siguiente genera la advertencia CS0077:
// CS0077.cs
using System;
struct S
{
}
class M
{
public static void Main()
{
object o;
S s;
o = new S();
s = o as S; // CS0077, S is not a reference type
// Use pattern matching instead of as
if (o is S sValue)
{
s = sValue;
}
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: