Используйте теги c# и /с# для выделения кода на этом языке. Еще стоит отучаться писать C перед именами классов -- naming guidelines в .NET другие.
_CT>Имею я право сделать так:
_CT>_CT>public class CDBCRM
_CT>{
_CT> public event ConnectionEventHandler ConnectionStateChange;
_CT>}
_CT>// и соответственно не
_CT>CDBCRM.ConnectionStateChange += new CDBCRM.ConnectionEventHandler(frmMain.OnCRMStateChange);
_CT>//a
_CT>m_DBCRM.ConnectionStateChange += new CDBCRM.ConnectionEventHandler(frmMain.OnCRMStateChange);
_CT>
_CT>т.к. хочу обрабатывать это событие не на уровне типа, а на уровне объекта класса?
Событие было объявлено статическим. Поэтому второй способ даже не скомпилируется. Что подразумевается под "на уровне объекта класса"?
Вообще, зачем было делать событие статическим?
[Ужас поскипан]
Если нужно делегировать событие, то делают так:
public static event ConnectionEventHandler ConnectionStateChange
{
add { m_Connection.ConnectionStateChange += value; }
remove { m_Connection.ConnectionStateChange -= value; }
}
Кстати, зачем в CDBCRM был объявлен тип делегата, ничем не отличающийся от существующего, не ясно.