Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Kompilator CS1688

Tidak dapat mengonversi blok metode anonim tanpa daftar parameter untuk mendelegasikan jenis 'delegasikan' karena memiliki satu atau lebih parameter out

Kompilator memungkinkan parameter dihilangkan dari blok metode anonim dalam banyak kasus. Kesalahan ini muncul saat blok metode anonim tidak memiliki daftar parameter, tetapi delegasi memiliki parameter out. Kompilator tidak mengizinkan situasi ini karena perlu mengabaikan keberadaan parameter out, yang sepertinya bukan perilaku yang benar.

Contoh

Kode berikut menghasilkan kesalahan CS1688.

C#
// CS1688.cs  
using System;  
delegate void OutParam(out int i);  
class ErrorCS1676  
{  
    static void Main()
    {  
        OutParam o;  
        o = delegate  // CS1688  
        // Try this instead:  
        // o = delegate(out int i)  
        {
            Console.WriteLine("");  
        };  
    }  
}