我有这种方法:
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参数)?
答案 0 :(得分:1)
编译器说明了一切。
CS0123-InsertPageNumbering没有重载匹配委托CreateAreaEventHandler。
如果您能够将方法分配给事件,那么在事件调用期间会发生什么?应该将BaseOracleUtils
的哪个值作为OraCon
参数传递?
很遗憾,您也无法为最后一个参数提供默认值。我看到的唯一解决方案是扩展委托以接受另一个参数。
或围绕InsertPageNumbering
方法创建包装器,例如
public static void InsertPageNumberingWrapper(object sender, CreateAreaEventArgs e)
{
InsertPageNumbering(sender, e, GetBaseOracleUtils());
}
,它将提供一些合理的值作为最后一个参数。然后将此包装添加到事件。 GetBaseOracleUtils()
可能会将价值拉到某个地方(我不知道您要解决什么以及价值应该从哪里来。)