• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

안녕하세요. ch11 enum 질문이요

21.12.16 22:42 작성 조회수 136

0

 

 

_status = (Enemy)Enum.Parse(typeof(Enemy), "Run");

이 이해가 안 됩니다...

 

------ 머릿 속 생각  ----------------------------

(Enemy)은 캐스팅 연산자

Enum.Parse는 형변환 함수, 근데 인수가 왜 2개나 들어갔지? 앞에 캐스팅 연산자 (Enemy)을 적었는데, 왜 또 형변환 함수를 쓴걸까...?

typeof(Enemy) 은 Enemy의 자료형 Enum을 말하는 거 같은데... GetTypeCode() 함수랑 비슷한 걸까...

"Run"은 Enemy.Run 을 말하는 거 같은데... 왜 문자열로 들어갔지?;;;;;;

---------------------------------------------------

제 맘대로 추측해 보았지만, 여전히 해석이 안 되네요.

조언 좀 부탁드립니다. ㅠㅠ

 

 

답변 1

답변을 작성해보세요.

1

안녕하세요.

Enum.Parse에 마우스를 가져가 보시면 두개의 파라미터를 받도록 되어 있습니다.

그리고 예제에서는 열거형이 한개이지만, 실제로는 여러개 일수도 있습니다.

예를 들어 영웅, 몬스터, 마법사등 여러개가 존재하면 어떤 열거형인지, 알려줘야 합니다.

그리고 끝에 "Run"은 꼭 직접 입력하는 것 뿐만 아니라,

다른 파라미터를 통해서 올수도 있습니다.

예를 들어 달리기 버튼이 있다고 가정하겠습니다.

그 버턴을 눌렀을 경우 Run이라는 값이 전달되고

이값이 "Run"의 위치에 갈수도 있습니다.

그럼 Enemy가 달리는 상태로 전환이 되는 것입니다.

아직은 버튼 이벤트까지 진도를 나가지 않으셨기 때문에 이해하기 어려울 수도 있습니다.

하지만 섹션1까지 진도를 나가면 버튼이벤트에 대해서 배우게 됩니다.