使用 var 设置组件属性
Posted
技术标签:
【中文标题】使用 var 设置组件属性【英文标题】:Set Component property using a var 【发布时间】:2017-10-13 11:14:42 【问题描述】:我想这样做:
Transform trans = gameObject.GetComponent<Transform>();
string propertyName = "position";
trans[propertyName] = new Vector3(0, 0, 0);
我如何在 c# trans[propertyName]
中完成这部分?
【问题讨论】:
【参考方案1】:通过反射,您可以实现:
Transform trans = gameObject.GetComponent<Transform>();
Debug.Log(typeof(Transform).GetProperty("position").GetValue(trans, null));
会给你你得到的变换的位置。请注意,它可以通过直接访问转换来简化
Transform trans = gameObject.transform;
对于设置值,这就是您要问的:
typeof(Transform).GetProperty("position").SetValue(gameObject.transform, new Vector3(0, 0, 0), null);
【讨论】:
以上是关于使用 var 设置组件属性的主要内容,如果未能解决你的问题,请参考以下文章