Unity+C# 遍历脚本中自定义的类变量

Unity+C# 遍历脚本的资源

遍历脚本中自定义的类变量

这边的遍历需要用到反射机制,具体的可以自己去了解.
网上找到的,大部分都没有说明白,代码的内容, 导致有的遍历出来的远比我想要遍历的内容多得多.我想要的是遍历自己脚本中定义的public 的类变量.
想要类的属性或者成员的话,可以用代码中被注释掉的部分实现.

代码

                    //  component指脚本对象,MyParameter指脚本中类的名称,当然Unity的编辑器要求我们把两个的名字统一,但是在使用的时候还是要理解
                    // GameObject.Find("MyParameter") 中的 MyParameter 指的是脚本的名称
                    var MyParameter = component.GetComponent<MyParameter>();
                    Type type = typeof(MyParameter);
                    // System.Reflection.PropertyInfo[]  properties = type.GetProperties(); //获得所有属性
                    // System.Reflection.MemberInfo[]  members = type.GetMembers();  //获得所有成员变量
                    System.Reflection.FieldInfo[]  fieldInfos = type.GetFields(); //获得场景的元素,这个是我们真正需要的,只返回在场景生成后我们自定义的变量
                    foreach (var  fieldInfo in fieldInfos)
                    {
    
    
                        print(fieldInfo.Name);
                        print(fieldInfo.GetValue(MyParameter));  // 需要传入对象的名称   这边的MyParameter其实指的是
                    }

猜你喜欢

转载自blog.csdn.net/scy261983626/article/details/108005736