我有这个:
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)
我怎样才能做到这一点?
有没有办法在我的字典/列表中存储类类型而不是类的实例?
我想做这样的事情:
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”存储为字符串并稍后解析。或者像这样的事情是一个很大的禁忌,这必须以不同的方式完成。
感谢您的帮助