Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
GD0203:訊號委派簽章必須回傳 void
規則 ID |
GD0203 |
分類 |
用法 |
修正是否會破壞相容性 |
破壞性變更 - 若修改回傳型別 非破壞性變更 - 若移除 |
預設啟用 |
是 |
原因
被 [Signal] 屬性標註的委派有回傳型別,預期應為 void。
規則說明
每個訊號都必須回傳 void。每個訊號可能有多個回呼,若允許回傳值,將無法決定該採用哪個回傳值。
// This signal delegate is invalid because it doesn't return void.
public int InvalidSignalEventHandler();
// This signal delegate is valid because it returns void.
public void ValidSignalEventHandler();
請參閱 C# 訊號 文件,瞭解如何宣告與使用訊號。
修正方式
要修正此規則的違規情形,請將委派修改為回傳 void,或從委派移除 [Signal] 屬性。(注意:移除屬性後訊號將不會註冊)。
小訣竅
若該訊號不需與 Godot 互動,建議直接使用 C# 事件。純 C# 事件允許你使用任何 C# 型別作為參數。
什麼時候應該忽略警告
請勿忽略此規則的警告。若訊號委派具有回傳值,將導致不可預期的執行階段錯誤。