변수 이름과 변수의 새로운 값을 저장하는 사전을 반복 할 함수를 만들 필요가 있습니다. 그런 다음 클래스 변수를 해당 값으로 업데이트해야합니다.
void UpdateValues(Type type, Dictionary<string, string> values)
{
foreach (var value in values)
{
var fieldInfo = selected.GetComponent(type).GetType().GetField(value.Key);
if (fieldInfo == null) continue;
fieldInfo.SetValue(selected.GetComponent(type), value.Value);
}
}
효과가 있지만 조금 개선하고 싶지만 가능한지 절대 알지 못합니다. 알다시피,이 함수는 특정 클래스뿐만 아니라 모든 클래스를 허용 할 수 있습니다. 만약 내가
이
class test
{
public string age;
}
같은 클래스는 내가 기능이 방법을 사용, 그것은 작동합니다. 나는이 같은 클래스가 나는 "서브 필드"(필드 필드)
class test
{
public string age;
}
class test2
{
public test data;
}
내가 그 구문은이 같은 수 생각
를 업데이 트하려는 경우
UpdateValues(typeof(test), new Dictionary<string, string>{{"age", "17"}});
문제입니다,하지만 난이 내가 어떻게 그럴 수 있을지 모르겠다. 그것을 요약하면
UpdateValues(typeof(test2), new Dictionary<string, string>{{"data.age", "17"}});
, 나는 다른 클래스에 저장되어 수업을합니다 기능을 확인해야합니다. 함수는 사전을 통해 반복하여 클래스의 필드와 하위 필드까지 업데이트합니다.
절대적으로 큰 감사 : 모든 작품을 보낼 수있는
Dictionary<string,object>
인스턴스를 생성 한 함수를 호출, 나는 세부 사항을 사용자 정의합니다 – Mrgnito