我需要知道如何将方法传递给类构造函数,以便稍后调用它。这个想法是有一个Bullet类,它有两个属性,一个损害整数和一个Method,当这个类型的子弹击中一个对象时可以调用它。下面的代码应该解释好一点:如何将方法保存在稍后要执行的类中
public class Bullet
{
public Method OnHit;
public int Damage;
public Bullet(int Damage,Method OnHit)
{
this.Damage = Damage;
this.OnHit = OnHit;
}
}
这让我可以作出这样通过运行这样Bullet.OnHit(HitGameObject)瓶坯在撞击不同的任务子弹。
只是一个补充。 OP还可以使用系统“代表”和“事件” – Cabrra
@Cabrra是的,OP可以使用原始的'delegates'和'events'。只是OP想要将函数传递给一个函数,然后再调用它。** NOT **稍后调用一个事件。我认为'System.Action'或'Func'对于这个或者更少的代码来说更适合。 – Programmer
优秀解释(也upvoted) – Cabrra