Errore del compilatore CS0077
L'operatore as deve essere usato con un tipo riferimento o con un tipo nullable ('int' è un tipo valore non nullable).
All'operatore as operatore è stato passato un tipo valore. Dato che as
può restituire null, può passare solo un tipo di riferimento o un tipo di valore nullable.
Tuttavia, usando i criteri di ricerca con l'operatore is , è possibile eseguire direttamente il controllo dei tipi e le assegnazioni in un unico passaggio.
L'esempio seguente genera l'errore 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;
}
}
}
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: