Я хотел бы создать статический массив, содержащий делегаты. Я буду использовать этот массив для поиска нужного мне делегата. Например:
class HandlerID
{
public int ID { get; set; }
public Func<int, bool> Handler { get; set; }
}
protected const HandlerID[] HandlerIDs = {
new SectionRenderer() { ID = SectionTypes.Type1, Handler = MyType1Handler },
new SectionRenderer() { ID = SectionTypes.Type2, Handler = MyType2Handler },
// Etc.
}
protected bool MyType1Handler(int arg)
{
return false;
}
// Etc.
Однако присвоение Handler
в массиве HandlerID
приводит к следующей ошибке:
Ссылка на объект требуется для нестатического поля, метода или свойства 'MyType1Handler (int)'
Я бы предпочел, чтобы массив был const
, поэтому его не нужно инициализировать для каждого экземпляра моего класса. Есть ли способ сохранить метод экземпляра в статическом массиве?