Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用变量设置组件属性_C#_Unity3d_Components - Fatal编程技术网

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);