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


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

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

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

Параметр 'number' объявлен как имеющий тип 'type1', а должен иметь тип 'type2'
Parameter 'number' is declared as type 'type1' but should be 'type2'

Эта ошибка происходит в том случае, если тип параметра в анонимном методе отличается от указанного в объявлении делегата, к которому приводится метод, типа.

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

// CS1678
delegate void D(int i);
class Errors 
{
   static void Main() 
   {
      D d = delegate(string s) { };   // CS1678
      // To resolve, use the following line instead:
      // D d = delegate(int s) { };
   }
}