Unity/Unity 리서치

[C#] 객체의 변수를 string으로 받기 & Reflection

lipnus 2021. 8. 14. 20:29
반응형

 

var fields = typeof(People).GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
People people = new People();

for(int i=0; i<fields.Length; i++) {
	Debug.Log($"#### 변수명: {fields[i].Name}");
}

특정 클래스의 변수명을 모두 가져올 수 있다.

JSON, CSV를 파싱해서 객체를 자동으로 초기화 할때 사용하면 편함.

 

 

이름을 이용하여 넣는건 Reflection으로 이렇게

FieldInfo fieldInfo = people.GetType().GetField("변수명");

if (fieldInfo != null) {
	fieldInfo.SetValue(people, 값);
}

 

 

 

Class의 변수명 가져오기

클래스에서 사용한 변수들의 이름을 가져올 수 있다. 1 2 3 4 5 var bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; foreach (FieldInf..

helloezzi.tistory.com

 

 

c# - C# 변수 이름으로 속성 가져 오기 및 설정 - IT 툴 넷

 

pythonq.com

 

반응형