Kesalahan Pengompilasi CS0837
Operand pertama operator 'is' atau 'as' mungkin bukan ekspresi lambda, metode anonim, atau grup metode.
Ekspresi Lambda, metode anonim, dan grup metode mungkin tidak digunakan di sisi kiri is atau as.
Jika kesalahan melibatkan operator
is
, ingatlah bahwais
mengambil nilai dan jenis dan memberi tahu Anda apakah nilai dapat dibuat menjadi jenis tersebut dengan konversi referensi, boxing, atau unoboxing. Karena lambda bukan nilai dan tidak memiliki konversi referensi, boxing, atau unboxing, lambda bukanlah kandidat untukis
.Jika kode menyalahgunakan
as
, koreksi mungkin akan mengubahnya menjadi konversi eksplisit.
Contoh berikut menghasilkan CS0837:
// cs0837.cs
namespace TestNamespace
{
public delegate void Del();
class Test
{
static int Main()
{
bool b1 = (() => { }) is Del; // CS0837
bool b2 = delegate() { } is Del;// CS0837
Del d1 = () => { } as Del; // CS0837
Del d2 = delegate() { } as Del; // CS0837
return 1;
}
}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: