Поделиться через


Ошибка компилятора CS1661

Обновлен: Ноябрь 2007

Сообщение об ошибке

Невозможно преобразовать блок анонимного метода в тип делегата 'delegate type', потому что типы параметров указанного блока не соответствуют типам параметров делегата
Cannot convert anonymous method block to delegate type 'delegate type' because the specified block's parameter types do not match the delegate parameter types

Эта ошибка происходит в том случае, если в определении анонимного метода типы параметров анонимного метода не соответствуют типам параметров делегата. Проверьте количество параметров, типы параметров и все параметры ref или out и убедитесь в точном совпадении.

Следующий пример проводит к генерированию ошибки CS1661:

// CS1661.cs

delegate void MyDelegate(int i);

class C
{
    public static void Main()
    {
        MyDelegate d = delegate(string s) { };  // CS1661
    }
}