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.

GD0203: 시그널의 대리인 서명은 void를 반환해야 합니다.

규칙 ID

GD0203

카테고리

사용례

수정 내용이 중단되거나 중단되지 않음

속보 - 반환 유형이 변경된 경우

비계속 - [Signal] 속성이 제거된 경우

기본적으로 활성화됨

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# 유형을 사용할 수 있습니다.

경고를 억제해야 하는 경우

이 규칙에서 경고를 표시하지 마세요. 무언가를 반환하는 시그널 대리자는 예기치 않은 런타임 오류가 발생합니다.