M
MuZZy
Hi,
Consider i have this code:
// ---------------------------------------------------------------------
public delegate void DoSearchEventHandler(Form f, DoSearchEventArgs e);
public class DoSearchEventArgs
{
public String m_sIDColumn;
public String m_sQuery;
public DoSearchEventArgs(String sQuery, String sIDColumn)
{
m_sQuery = sQuery;
m_sIDColumn = sIDColumn;
}
}
public class SearchForm: Form
{
public event DoSearchEventHandler DoSearchEvent;
public bool DoSearchEventEmpty
{
get { return DoSearchEvent == null; }
}
public void DoSearchEventFire(Form f, DoSearchEventArgs e)
{
DoSearchEvent(f, e);
}
}
//----------------------------------------------------------------------
Now i have my form inherited from SearchForm and in some func of this
new form i want to use that event "DoSearchEvent":
public class MyForm: SearchForm
{
public void Search()
{
if (DoSearchEvent != null)
DoSearchEvent(this, new DoSearchEventArgs("",""))
}
}
Compiler gives an error on line "if (DoSearchEvent != null)" that you
can only use += or -= for events outside the class where they were
declared.
But MyClass is inherited from SearchClass so why events don't get
inherited as well?
Currently i have to declare two functions for each of those events in
SeachForm class: SetEvent and FireEvent, so for 10 events i have 20
pretty much redundant functions which differ by sematics but same by sence.
What should be the best way out?
Thank you in advance,
MuZZy
Consider i have this code:
// ---------------------------------------------------------------------
public delegate void DoSearchEventHandler(Form f, DoSearchEventArgs e);
public class DoSearchEventArgs
{
public String m_sIDColumn;
public String m_sQuery;
public DoSearchEventArgs(String sQuery, String sIDColumn)
{
m_sQuery = sQuery;
m_sIDColumn = sIDColumn;
}
}
public class SearchForm: Form
{
public event DoSearchEventHandler DoSearchEvent;
public bool DoSearchEventEmpty
{
get { return DoSearchEvent == null; }
}
public void DoSearchEventFire(Form f, DoSearchEventArgs e)
{
DoSearchEvent(f, e);
}
}
//----------------------------------------------------------------------
Now i have my form inherited from SearchForm and in some func of this
new form i want to use that event "DoSearchEvent":
public class MyForm: SearchForm
{
public void Search()
{
if (DoSearchEvent != null)
DoSearchEvent(this, new DoSearchEventArgs("",""))
}
}
Compiler gives an error on line "if (DoSearchEvent != null)" that you
can only use += or -= for events outside the class where they were
declared.
But MyClass is inherited from SearchClass so why events don't get
inherited as well?
Currently i have to declare two functions for each of those events in
SeachForm class: SetEvent and FireEvent, so for 10 events i have 20
pretty much redundant functions which differ by sematics but same by sence.
What should be the best way out?
Thank you in advance,
MuZZy