使用 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 设置组件属性的主要内容,如果未能解决你的问题,请参考以下文章

在视图呈现之前从父级设置子组件属性

我可以使用传递给组件的变量设置苗条样式的 css 属性值吗

delphi中的ComboBox组件的使用?

设置自定义扩展属性及展示布局

为所有实例设置组件属性/将相同的数据传递给所有组件实例

求delphi中button的属性大全?知道几个说几个?