-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
함수 시그니쳐부분에 대한 이해가 어렵습니다
21.01.11 02:07 작성 조회수 184
0
static Loader LoadJson<Loader, Key, Value>(string path) where Loader : ILoader<Key, Value>
{
string text = File.ReadAllText($"{ConfigManager.Config.dataPath}/{path}.json");
return Newtonsoft.Json.JsonConvert.DeserializeObject<Loader>(text);
}
DataManager.cs 파일에 있는 위 함수에서 Loder는 어디에 정의 되어있는 것이고LoadJson 뒤 부분인 <Loader, Key, Value> 는 왜 있는건가요?
답변을 작성해보세요.
1
Rookiss
지식공유자2021.01.11
<T> 는 Generic이라는 문법입니다.
<> 안에 들어가 있는 애를 다른 타입으로 치환해서 사용하는 것입니다.
위 코드에서 where Loader : ILoader<Key, Value>라 했으니,
ILoader를 상속받은 클래스만 Loader로 넣을 수 있는 상황입니다.
C# Generic 관련해서 찾아보시면 도움이 될겁니다.
답변 1