我需要知道如何將方法傳遞給類構造函數,以便稍後調用它。這個想法是有一個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