小编Hec*_*nos的帖子

编译器警告CS0067:从不使用该事件

我有一个我正在使用的事件,所以我真的不明白这个警告的真正含义.有人可以澄清吗?

public abstract class Actor<T> : Visual<T> where T : ActorDescription
{
    #region Events
    /// <summary>
    /// Event occurs when the actor is dead
    /// </summary>
    public event Action Dead;
    #endregion

/// <summary>
    /// Take damage if the actor hasn't taken damage within a time limit
    /// </summary>
    /// <param name="damage">amount of damage</param>
    public void TakeDamage(int damage)
    {
        if (damage > 0 && Time.time > m_LastHitTimer + m_DamageHitDelay)
        {
            m_CurrentHealth -= damage;

            if (m_CurrentHealth <= 0)
            {
                m_CurrentHealth = 0; …
Run Code Online (Sandbox Code Playgroud)

c# events

5
推荐指数
1
解决办法
4794
查看次数

C#将派生的泛型类型转换为父类

在我问我的问题之前,这是我的结构:

public class Data : ScriptableObject {...}
public class ItemData : Data {...}
public class WeaponData : ItemData {...}

public abstract class Item<T> : Visual<T> where T : ItemData {...}
public class Weapon<T> : Item<T> where T : WeaponData {...}
Run Code Online (Sandbox Code Playgroud)

当我创建一个Weapon对象并将其分配给我时,我收到一个错误(无法从源类型转换为目标类型)Item<ItemData>.

Weapon<Foo> weapon = new Weapon<Foo>();
Item<ItemData> other = weapon;
Run Code Online (Sandbox Code Playgroud)

这是为什么?

c# generics downcast

3
推荐指数
1
解决办法
1564
查看次数

标签 统计

c# ×2

downcast ×1

events ×1

generics ×1