如题
现有思路
在主机试图中定义纯虚事件
    public abstract class AddInEvent
    {
        public abstract event EventHandler<ShapeArgus> NewShapeEvent;
    }
在主机与合同的接口中定义事件实体
        public override event EventHandler<ShapeArgus> NewShapeEvent
        {
            add
            {//此处调用合同中的添加和删除函数
            }
            remove
            {
               
            }
        }
在合同中添加添加和删除事件的调用函数
    public interface IAddInEvent : IContract
    {
        void NewShapeAdd(EventHandler<IShapeArgus> EventHandler);//插件添加新事件处理程序
        void NewShapeRemove(EventHandler<IShapeArgus> EventHandler);//插件删除新事件处理程序
    }
在插件接口中实现添加和删除函数,将事件处理程序传递给插件视图中的事件但是合同中是IShapeArgus视图中是ShapeArgus如何解决?