Warning: Undefined array key "REMOTE_USER" in /kieuns/www/lib/plugins/googleanalytics/action.php on line 61 language:csharp:함수포인터 [GINS WIKI 긴스 위키] Warning: Undefined array key "stylesheets" in /kieuns/www/inc/StyleUtils.php on line 102

사용자 도구

사이트 도구


사이드바

카테고리

language:csharp:함수포인터
Warning: Undefined array key "fperm" in /kieuns/www/inc/io.php on line 255

델리게이트를 함수 포인터처럼 응용

한번만 실행되는 코드들이 있을 경우 델리게이트를 사용해서 한번만 호출될 함수계속 사용될 함수를 설정한다.

한번만 사용될 코드가, 자주 호출 되는 함수에 같이 포함된 것을 제거하고 나면 기분은 깔끔해짐.

c# delegate
( C++ 함수 포인터처럼 )
 
namespace DelegateTest
{
  // 함수 포인터로 사용할 델리게이트
  private delegate void methodEveryTimeCalled();
 
  //한번만 실행하는 함수. 이 함수에서 다음부터 계속 호출될 함수를 설정한다.
  private void onetimeCallMethod() {
    methodEveryTimeCalled = new methodEveryTimeCalled( this.realEveryCallMethod );
  }
  // onetimeCallMethod() 이후부터는 이 함수가 계속 실행된다.
  private void realEveryCallMethod() {  }
 
  void Awake() {
    methodEveryTimeCalled = new methodEveryTimeCalled( this.onetimeCallMethod );
  }
 
  void Update() {
    methodEveryTimeCalled();
  }
}
language/csharp/함수포인터.txt · 마지막으로 수정됨: 2024/04/23 22:44 (바깥 편집)