首页 > 解决方案 > 为什么除了 += 和 -= 接口不能对它们的事件做任何事情?

问题描述

我制作了一个名为 IDamageable 的接口,并希望能够对自己的事件做更多的事情,除了 += 和 -=,该行Damage?.Invoke(...)给出了错误 CS0079

public interface IDamageable<TDamagedArgs> where TDamagedArgs : EventArgs
{
    HealthSystem HealthSystem { get; set; }

    event EventHandler<TDamagedArgs> Damaged;

    void OnDamaged(float damage, TDamagedArgs damagedArgs = null) {
        HealthSystem.Damage(damage);
        Damaged?.Invoke(this, damagedArgs); //the event Damaged can only appear in the left hand side of += or -= 
    }
}

标签: eventsinterface

解决方案


推荐阅读