C# 委托和调用的列表
我正在ASP.NET中创建一个较小的RPG游戏。在这个游戏中,我有一个项目架构,其中每个项目都有一些方法。例如,所有项目都应该共享一个方法,如“删除”、“检查”“和“使用””。有些项目必须使用诸如“操作”、“计算”等方法进行扩展 到目前为止,我已经创建了以下对象GameActionList:C# 委托和调用的列表,c#,asp.net,delegates,invoke,C#,Asp.net,Delegates,Invoke,我正在ASP.NET中创建一个较小的RPG游戏。在这个游戏中,我有一个项目架构,其中每个项目都有一些方法。例如,所有项目都应该共享一个方法,如“删除”、“检查”“和“使用””。有些项目必须使用诸如“操作”、“计算”等方法进行扩展 到目前为止,我已经创建了以下对象GameActionList: public delegate void MyDelegate(); public class GameActionList { public List<MyDelegate> Ite
public delegate void MyDelegate();
public class GameActionList
{
public List<MyDelegate> Items = new List<MyDelegate>();
public void Add(MyDelegate del)
{
Items.Add(del);
}
public void CallDelegates()
{
foreach (MyDelegate myDelegate in Items)
{
myDelegate();
}
}
}
这很好,但是。。。我有一些问题
我的问题
我需要一个更通用的游戏操作列表。我需要一个列表,不仅包括空洞,还包括函数。。另外,我需要有参数和无参数两种方法
例如:Drop方法需要一个玩家对象,这样他就可以放下物品。Examine方法需要返回一个描述项目的字符串
另外,我需要一些在初始化GameActionList时不知道的数据:我在调用该方法时首先知道这些数据
所以我有两个问题:
拉尔斯你很可能需要行动,Func代表
非常感谢您的通知:)我不知道那个功能。。刚刚接受了最后几个问题的正确答案…-)谢谢。。只是研究了它并更新了我的代码-它工作得非常好!现在我要学的就是动态Voke。。哦,好吧!太好了:)谢谢
public GameActionList Actions
{
get
{
GameActionList actions = new GameActionList();
actions.Add(this.Drop);
actions.Add(this.Examine);
return actions;
}
}