Нет перегрузки для делегата матчей - PullRequest
0 голосов
/ 26 июня 2018

У меня есть этот метод:

public static void InsertPageNumbering(object sender, CreateAreaEventArgs e, BaseOracleUtils OraCon)
{
   PCK.SetData(OraCon);
}

Как назначить это событие:

 compositeLink.CreateMarginalFooterArea += BaseSettingsInit.InsertPageNumbering;

CreateMarginalFooterArea имеет следующие параметры:

 public delegate void CreateAreaEventHandler(object sender, CreateAreaEventArgs e);

Есть ли метод присвоения опций (с сохранением параметра OraCon)?

1 Ответ

0 голосов
/ 26 июня 2018

Компилятор говорит сам за себя.

CS0123 - нет перегрузки для InsertPageNumbering соответствует делегату CreateAreaEventHandler.

Если вы смогли назначить метод событию, что должно произойти во время вызова события? Какое значение BaseOracleUtils должно быть передано в качестве параметра OraCon?

К сожалению, вы не можете указать значение по умолчанию для последнего параметра. Единственное решение, которое я вижу, - это расширить делегат для принятия еще одного параметра.

Или создайте оболочку для вашего InsertPageNumbering метода, такого как

public static void InsertPageNumberingWrapper(object sender, CreateAreaEventArgs e)
{
    InsertPageNumbering(sender, e, GetBaseOracleUtils());
}

, который предоставил бы некоторое разумное значение в качестве последнего параметра. А затем добавьте эту обертку к событию. GetBaseOracleUtils() может куда-то вытащить значение (я понятия не имею, что вы пытаетесь решить и откуда это значение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...