C# 使用变量设置组件属性
我想这样做:C# 使用变量设置组件属性,c#,unity3d,components,C#,Unity3d,Components,我想这样做: Transform trans = gameObject.GetComponent<Transform>(); string propertyName = "position"; trans[propertyName] = new Vector3(0, 0, 0); Transform trans=gameObject.GetComponent(); 字符串propertyName=“位置”; trans[propertyName]=新向量3(
Transform trans = gameObject.GetComponent<Transform>();
string propertyName = "position";
trans[propertyName] = new Vector3(0, 0, 0);
Transform trans=gameObject.GetComponent();
字符串propertyName=“位置”;
trans[propertyName]=新向量3(0,0,0);
如何在c#
trans[propertyName]
中完成这一部分?使用反射可以实现这一点:
Transform trans = gameObject.GetComponent<Transform>();
Debug.Log(typeof(Transform).GetProperty("position").GetValue(trans, null));
对于设置值,这就是您要问的:
typeof(Transform).GetProperty("position").SetValue(gameObject.transform, new Vector3(0, 0, 0), null);
typeof(Transform).GetProperty("position").SetValue(gameObject.transform, new Vector3(0, 0, 0), null);