Activator 질문있습니다
331
작성자 없음
작성한 질문수 0
안녕하세요, 루키스님
강의 항상 잘 보고있습니다. 항상 감사합니다.
다름이 아니라,
스킬 데이터를 Json 형식으로 저장한 뒤 Dictionary로 파싱하여 저장하고
각 스킬 이름에 해당하는 클래스의 인스턴스를 만들어 저장하는 방식을 사용한 적이 있고, 이번에도 같은 방식을 필요한 상황이 생겼는데(인스턴스를 직접 선언해 저장하는 방식은 노가다라고 생각해서 이렇게 했었습니다)
코드는 아래와 같습니다.
리플렉션으로 스킬 타입을 가져온 뒤, Activator로 인스턴스를 생성했습니다.
Type type = Type.GetType(skill.skillName);
Skill newSkill = (Skill)Activator.CreateInstance(type);
newSkill.skillData = skill;
skillDictionary.Add(newSkill.skillData.id, newSkill);
처음 해당 코드를 사용할 때에는 별 생각이 없었는데,
추가적으로 리플렉션에 대해 구글에 검색하다보니 굉장히 다양한 의견들이 있더군요.
성능에 안좋다, 테스트용이다, 빌드 후에는 리플렉션 관련 코드는 사용하지 말아야한다.. 등등
제가 Reflection과 Activator를 사용한 부분은 게임 실행 직후에만 Json으로부터 데이터를 파싱하여 해당 타입의 인스턴스를 만들어 저장하기만 하는데,
그렇더라도 성능에 영향을 미치는지 궁금합니다.
혹은 위와 같이 수많은 데이터를 인스턴스화하고, 초기화 하는 다른 좋은 방법이 있을까요?
답변 1
Generic에 대한 질문 있습니다.
0
94
2
2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?
0
200
2
다형성 캐시 문제
0
111
3
.
0
70
1
프로퍼티 강의 질문 있습니다.
0
77
1
이후 커리 질문
0
85
1
static
0
90
2
강의에는 새로운 클래스 파일을 생성하면...
0
72
1
생성자의 이름 선언
0
64
1
9:03 Divide(10 , 3) 부분 질문입니다
0
87
1
깃허브 관련 질문 있습니다.
0
238
1
비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문
0
249
1
C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!
0
305
2
이넘 타임 선언 질문
0
344
1
Sort 오름차순, 내림차순
0
323
1
질문 있습니다.
0
248
1
팩토리얼 문제
0
270
1
Sort함수 질문있습니다.
0
264
1
다형성 함수 질문 있습니다.
0
221
1
질문이 있습니다.
0
225
1
섹션2 연습문제 질문입니다.
0
213
1
안녕하세요~서버에 대해 질문이 있습니다.
1
281
1
텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ
0
393
1
visual studio2022에서 c# 프로젝트 로드가 안됩니다
0
1158
3





