你好 StackOverflow 社区,
我正在使用 c# 开发一个 .NET windows 应用程序,并将一个库项目重建为两个,因为我想在另一个项目中使用一些类。
但是,由于我的更改,我收到错误消息:编译时无法从“方法组”转换为“System.EventHandler”。来自一个一直有效的类/方法。
该应用程序是一个复杂的映射应用程序,它根据自动读取的 CRM 和 Web 服务 WSDL 信息,使用对象、父和子关系、默认值、列表对象和附加功能来角色化 xml/xsd 映射。
以下行给出了错误:“mappingPickListControls = new MappingPickListControls(pMappingPickList, optionMetadataCollection, ValidationRegister, imglblMandatory, tbControlToValidate_validating);”
将事件处理程序提供给控件构建器以确保该方法可以被正确的控件调用以验证正确的信息。
CRMMappingPickListForm:
private void tbControlToValidate_validating(object sender, CancelEventArgs e)
{
ValidateControl(this, (Control)sender);
}
public CRMMappingPickListForm(Ciber.Crm.MappingCRMTo.Data.CustomOptionMetadataCollection optionMetaDataCol, Point location, Size size)
{
InitializeComponent();
this.Location = new Point (location.X + (size.Width / 2) - (Size.Width / 2), location.Y + (size.Height / 2) - (Size.Height / 2));
optionMetadataCollection = optionMetaDataCol;
ValidationRegister = new FormValidationRegister();
ValidationRegister.ControlValidationRegister.Add(new ControlValidation("tbConfigurationName", 1, "configuration name", 1));
mappingPickListControls = new MappingPickListControls(pMappingPickList, optionMetadataCollection, ValidationRegister, imglblMandatory, tbControlToValidate_validating);
}
MappingPickListControls:
public MappingPickListControls(Panel pMappingPickList, CustomOptionMetadataCollection optionMetaDataCol, FormValidationRegister ValidationRegister, Bitmap imglblMandatory, EventHandler tbControlToValidate_validating)
{
lblPickListValueList = new List<Label>();
tbPickListMappedValueList = new List<TextBox>();
foreach (CustomOptionMetadata optionMetaData in optionMetaDataCol)
{
AddMapping(pMappingPickList, optionMetaData, ValidationRegister, imglblMandatory, tbControlToValidate_validating);
}
}
我的解决方案中有 3 个项目:
MappingCRMTo:拥有所有的窗体,包括CRMMappingPickListFOrm MappingCRMTo.Controls:拥有所有的窗体扩展和窗体相关的类。这是我创建的新项目库。它还包括MappingPickListControls,它是控件构建器类之一。MappingCRMTo.Data:拥有所有序列化对象、WSDL 阅读器、zip 创建器和我喜欢在其他一些项目中使用的其他类。它是MappingPickListControls的旧位置