C#自定义事件不';I don’我不想使用表单,部分类
我正在创建一个应用程序,有一个类执行一些后台操作,完成所有操作后,将使用事件通知父对象。要提供事件功能,我使用以下代码:C#自定义事件不';I don’我不想使用表单,部分类,c#,.net,winforms,events,C#,.net,Winforms,Events,我正在创建一个应用程序,有一个类执行一些后台操作,完成所有操作后,将使用事件通知父对象。要提供事件功能,我使用以下代码: public delegate void ShopStateChangedEventHandler(object sender, QuantityManagerEventArgs ea); public event ShopStateChangedEventHandler ShopStateChanged; protected virtual void WhenShopS
public delegate void ShopStateChangedEventHandler(object sender, QuantityManagerEventArgs ea);
public event ShopStateChangedEventHandler ShopStateChanged;
protected virtual void WhenShopStateChanged(QuantityManagerEventArgs ea)
{
if (ShopStateChanged != null)
{
ShopStateChanged(this, ea);
}
}
当我将这段代码用于我创建的类时,它在所有情况下都运行良好,今天我需要将一些定制事件添加到我的应用程序中的一个表单中。不幸的是,我得到了一个生成错误,编译器无法在表单中找到ShopStateChangedEventHandler,该表单是自定义事件表单的父级,错误是关于添加侦听器的行
qmgr.ShopStateChanged += new ShopStateChangedEventHandler(qmgr_ShopStateChanged);
我真的不知道在哪里可以找到这个错误的来源,而在我使用这段代码的所有其他类中都可以正常工作,我怀疑是因为我试图添加自定义事件的类继承自表单,还是因为它是部分类。至于现在,如果要解决这个问题,我还远远处于困境之中,我不知道如何解决它
我希望您能建议我做什么,或者如何修改我的代码,使其与表单一起工作
提前谢谢
mth
编辑
错误为CS2046
找不到类型或命名空间名称“type/namespace”(是否缺少using指令或程序集引用?)
所有类和表单都属于同一名称空间
至于qmgr\u shopstate,现在它只是一个空方法
void qmgr_ShopStateChanged(object sender, QuantityManagerEventArgs ea)
{
}
qmgr是包含自定义事件代码的表单实例,qmgr和qmgr\u ShopStateChanged以及创建侦听器和产生问题的代码,属于应用程序的主要表单(frmMain) 直接在任何类之外的命名空间上声明委托。您会遇到什么错误?还可以显示qmgr\u ShopStateChanged吗?此方法在哪里??