Каковы про-против наличия делегатов, имеющих зарезервированный тип определения.
Например, в c, если я хочу определить функцию, которая принимает указатель на функцию, я могу просто определить
void F(bool (*pFn)(int));
В С# мне нужно сделать дополнительный шаг первого определения типа делегата, если мне нужно было создать typedef в c, прежде чем я смог бы определить указанную выше функцию
delegate bool del(int s);
void F(del d){...}
Я считаю, что стиль С# будет менее понятным и гибким.
A: Я не понимаю, что это можно сделать в С#
B: Будет ли это быть плохой языковой функцией, добавляемой, введя сложность системы декларирования типа c.
Позвольте мне пояснить, что я знаю, что fucn доступен. Я задаюсь вопросом, есть ли способ определить произвольный делегат.
Func в .NET 3.5 позволит вам иметь до 4 параметров и 1 возвращаемое значение. Func в .NET 4 позволит вам иметь до 16 параметров и 1 возвращаемое значение. Если вам нужно больше, чем вам, вероятно, вы должны получить квантовый компьютер.
Также действие имеет те же ограничения в .NET 3.5 и .NET 4, за исключением возвращаемого значения.
Как насчет этого?
void F(Func<int, bool> d){...}