Я запутался, почему это компилируется:
private delegate int MyDelegate(int p1, int p2);
private void testDelegate()
{
MyDelegate imp = delegate
{
return 1;
};
}
MyDelegate должен быть указателем на метод, который принимает два параметра типа int и возвращает другое значение типа int, верно?Почему мне разрешено назначать метод, который не принимает параметров?
Интересно, что он не компилируется (он жаловался на несоответствие сигнатур, как я и ожидал)
private void testDelegate()
{
// Missing param
MyDelegate imp = delegate(int p1)
{
return 1;
};
// Wrong return type
MyDelegate imp2 = delegate(int p1, int p2)
{
return "String";
};
}
Спасибоза любую помощь!
Райан