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 |
카테고리 |
사용례 |
수정 내용이 중단되거나 중단되지 않음 |
속보 - 반환 유형이 변경된 경우 비계속 - |
기본적으로 활성화됨 |
es |
원인
[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# 이벤트 <https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/events/>`_를 직접 사용하는 것을 고려해 보세요. 순수 C# 이벤트를 사용하면 해당 매개변수에 대해 모든 C# 유형을 사용할 수 있습니다.
경고를 억제해야 하는 경우
이 규칙에서 경고를 표시하지 마세요. 무언가를 반환하는 시그널 대리자는 예기치 않은 런타임 오류가 발생합니다.