小编Cxy*_*yda的帖子

System.Action委托忽略参数?

我有这个:

public event Action<BaseCommodity> OnGatherActionSelected = delegate { };
gmp.OnGatherActionSelected += m_Worker.CharacterActions.StartGatherMaterials; // << takes a parameter
Run Code Online (Sandbox Code Playgroud)

但现在我想使用该事件来调用一个接受0参数的方法

gmp.OnGatherActionSelected += ParentPanel.RedrawUI; // does not take parameters .. DOES NOT WORK :(
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

c# delegates unity-game-engine

4
推荐指数
2
解决办法
421
查看次数

C# 在字典/列表中存储类类型

有没有办法在我的字典/列表中存储类类型而不是类的实例?

我想做这样的事情:

public class FoodNeed : BaseNeeds
{
    public Dictionary<Type, float> consumptionlist = new Dictionary<Type, float>();

    public FoodNeed()
    {
        consumptionlist.Add (Meat, 0.3f);
    }
}
Run Code Online (Sandbox Code Playgroud)

Meat是类,而不是在字典中添加“ new Meat() ”,我只想存储类型(因为我认为没有必要仅为该类型创建完整的实例),这可能吗?或者我是否必须将例如“Meat”存储为字符串并稍后解析。或者像这样的事情是一个很大的禁忌,这必须以不同的方式完成。

感谢您的帮助

c# unity-game-engine

2
推荐指数
1
解决办法
1461
查看次数

标签 统计

c# ×2

unity-game-engine ×2

delegates ×1