public delegate void AddItemEventHandler(string item);
//抽象类
    public abstract class OpcServer
    {
         public event AddItemEventHandler ValueChangedEvent;
         public abstract void sendCurrValue(object stateInfo);
    }
//子类
class Kj75OpcServer : OpcServer
{
        public override void sendCurrValue(object stateInfo)
        {
            ValueChangedEvent("");//不正确,如何使用OpcServer定义的事件
            
        }
}

解决方案 »

  1.   

    class Kj75OpcServer : OpcServer
    {
            public event AddItemEventHandler ValueChangedEvent;//得这样定义自己的事件        public override void sendCurrValue(object stateInfo)
            {
                ValueChangedEvent("");//不正确,如何使用OpcServer定义的事件
                
            }
    }
      

  2.   

    你可以这样处理:
    //抽象类
        public abstract class OpcServer
        {
             public abstract event AddItemEventHandler ValueChangedEvent;
             public abstract void sendCurrValue(object stateInfo);
        }
    //子类
    class Kj75OpcServer : OpcServer
    {
            public override void sendCurrValue(object stateInfo)
            {
                ValueChangedEvent("");
                
            }
            public override event AddItemEventHandler ValueChangedEvent;
    }或者使用接口,比如:
    // event_keyword.cs
    using System;
    public delegate void MyDelegate();   // delegate declarationpublic interface I 
    {
       event MyDelegate MyEvent;
       void FireAway();
    }public class MyClass: I 
    {
       public event MyDelegate MyEvent;   public void FireAway() 
       {
          if (MyEvent != null)
             MyEvent();
       }
    }