Compile Error CS0815
Tidak dapat menetapkan 'ekspresi' ke lokal yang diketik secara implisit
Ekspresi yang digunakan sebagai penginisialisasi untuk variabel yang diketik secara implisit harus memiliki jenis. Karena ekspresi fungsi anonim, ekspresi grup metode, dan ekspresi harfiah null tidak memiliki jenis, ekspresi tersebut bukan penginisialisasi yang sesuai. Variabel yang diketik secara implisit tidak dapat diinisialisasi dengan nilai null dalam deklarasinya, meskipun nantinya dapat diberi nilai null.
Dengan ekspresi C# versi 10 Lambda dan grup metode dengan jenis alami dapat digunakan sebagai inisialisasi dalam deklarasi var
.
- Memberikan jenis eksplisit untuk variabel.
- Atau menentukan jenis alami dengan C# versi 10 dan yang lebih tinggi.
Kode berikut menghasilkan CS0815:
// cs0815.cs
class Test
{
public static int Main()
{
var d = s => -1; // CS0815
var e = (string s) => 0; // CS0815 for C# versions before 10
var p = null; // CS0815
var del = delegate(string a) { return -1; }; // CS0815
return -1;
}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: