Błąd kompilatora CS1688
Nie można przekonwertować bloku metody anonimowej bez listy parametrów na typ delegata "delegate", ponieważ ma co najmniej jeden parametr wyjściowy
Kompilator umożliwia pominięcie parametrów z bloku metody anonimowej w większości przypadków. Ten błąd występuje, gdy blok metody anonimowej nie ma listy parametrów, ale delegat ma out
parametr. Kompilator nie zezwala na tę sytuację, ponieważ konieczne byłoby zignorowanie obecności parametru out
, co jest mało prawdopodobne, aby było prawidłowym zachowaniem.
Poniższy kod generuje błąd CS1688.
// 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("");
};
}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: