Baca dalam bahasa Inggris

Bagikan melalui


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.

Untuk memperbaiki kesalahan ini

  1. Memberikan jenis eksplisit untuk variabel.
  2. Atau menentukan jenis alami dengan C# versi 10 dan yang lebih tinggi.

Contoh

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;  
    }  
}  

Lihat juga