C# 2.0
I have declared some event arguments like this:
public class ModeStateChange dEventArgs : EventArgs
{
Gen.DataState myState;
public ModeStateChange dEventArgs() { }
public ModeStateChange dEventArgs(Gen. DataState val)
{
myState = val;
}
public Gen.DataState MyState
{
get { return myState; }
}
}
In a business object I declare the event and use it like this:
Public class BizClass
{
public event EventHandler<Mo deStateChangedE ventArgs>
ModeStateChange dRaised;
protected virtual void
OnModeStateChan gedRaised(ModeS tateChangedEven tArgs e)
{
try
{
EventHandler<Mo deStateChangedE ventArgs> handler =
ModeStateChange dRaised;
if (handler != null)
{
handler(this, e);
}
}
catch (Exception ex)
{
ExceptionHandle r.ErrLog(ex);
}
}
//And I raise the event like this:
Void SomeMethod()
{
ModeStateChange dEventArgs arg = new
ModeStateChange dEventArgs(myMo deState);
OnModeStateChan gedRaised(arg);
}
}
Now is a list class I want to create instances of BizClass, assign and event
handler to them and then add them to the list.
Public class ListOfBizClass : BindingList< BizClass >, IBindingList
{
//This is where I need help...
public event EventHandler<Mo deStateChangedE ventArgs>
ModeStateChange dRaised;
protected virtual void
OnModeStateChan gedRaised(ModeS tateChangedEven tArgs e)
{
try
{
EventHandler<Mo deStateChangedE ventArgs> handler =
ModeStateChange dRaised;
if (handler != null)
{
handler(this, e);
}
}
catch (Exception ex)
{
ExceptionHandle r.ErrLog(ex);
}
}
public void GetListFromData base()
{
base.Clear();
dsContactMngr ds = oData.PersonGet RecShort();
foreach (dsContactMngr. tbPersonShortLi stRow dr in
ds.tbPersonShor tList)
{
BizClass obj = new BizClass (dr.ID, dr.FName, dr.LName);
//This is where I get a compile error: 'new
EventHandler(On ModeStateChange dRaised)'
//Compile error says: 'No overload for 'OnModeStateCha ngedRaised' matches
delegate'
obj.ModeStateCh angedRaised += new
EventHandler(On ModeStateChange dRaised);
base.Add(obj);
}
}
)
Can someone shed explain what I need to do here?
THANKS!
--
mo*******@nospa m.nospam