Я экспериментирую с вызовом функций делегата из массива делегатов. Мне удалось создать массив делегатов, но как я могу назвать делегата?Delegate Array
public delegate void pd();
public static class MyClass
{
static void p1()
{
//...
}
static void p2()
{
//...
}
//...
static pd[] delegates = new pd[] {
new pd(MyClass.p1),
new pd(MyClass.p2)
/* ... */
};
}
public class MainClass
{
static void Main()
{
// Call pd[0]
// Call pd[1]
}
}
EDIT: Причиной массива является то, что мне нужно, чтобы вызвать функции делегата по индексу по мере необходимости. Они не запускаются в ответ на событие. Я вижу критическую (тупую) ошибку в моем коде, поскольку я пытался выполнить функцию делегата, используя тип pd [], а не имя массива (делегаты).
Одна из причин, по которой не было бы индивидуально обрабатывать исключения, брошенные кем-либо из делегатов, а не просто ловить первое. – 2008-11-01 00:12:15