• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

이번 강의에서 구현한 LoadJson 함수 문법 질문입니다

22.05.24 17:53 작성 조회수 312

6

Loader LoadJson<Loader,Key,Value>(string path) where Loader : ILoader<Key,Value>

    {

        TextAsset textAsset = Managers.Resource.Load<TextAsset>($"Data/{path}");

        return JsonUtility.FromJson<Loader>(textAsset.text);

    }

여기서 Loader << 이 부분이 헷갈려서 몇가지 질문 남깁니다. 

1. Loader라는 타입을 따로 정의하지 않았는데, 이게 제네릭메소드 T 와 같은 의미이며, Loader라고 정의한거는 그냥 보기 편하게 T 를 Loader라고사용했다 보면 되는건가요 ?

2. LoadJson<Loader,Key,Value> 에서 Loader가 무슨의미인지 모르겠습니다. Loader에 대한 정보가 없으니, 정보를 얻기 위해 그냥 단순 : ILoader<Key,Value>를 상속받는 클래스를 저기에 입력하라는 의미로 받아드리면 될까요 ?

 

답변 1

답변을 작성해보세요.

3

JsonUtility.FromJson<Loader>(textAsset.text);

위 부분에서 FromJson을 이용해 json -> 변환하고 싶은 클래스 형태를 입력하는 것입니다.
json 구조와 딱 일치하는 class를 정의해 편리하게 파싱을 하는 것이 목적이죠.

where ~ 부분은 ILoader<Key,Value>인터페이스를 분명 사용하는 애라는걸 명시해서
MakeDic() 등을 이용하려고 넣어줬습니다.

위엔 제가 편의상 만든 기능들이고 그냥 본인이 원하시는 다른 방법으로 수정을 해보시기 바랍니다.