unity中反射的使用
2017-10-19 10:53
791 查看
反射
定义
动态获取类型信息,动态创建对象,动态访问成员的过程。作用
在编译时无法了解类型,在运行时获取类型信息,创建对象,访问成员。流程
1.得到数据类型2.动态创建对象
3查看类型信息(了解本身信息,成员信息)
常用类
1.取得数据类型Type方式一:Type.GetType(“类型全名”);
适合于类型的名称已知
方式二:obj.GetType();
适合于类型名未知,类型未知,存在已有对象
方式三:typeof(类型)
适合于已知类型
方式四:Assembly.Load(“XXX”).GetType(“名字”);
适合于类型在另一个程序集中
Type类常用Get系列方法 Is系列属性。
2.MethodInfo(方法)
重要方法: Invoke
3.PropertyInfo(属性)
重要方法:SetValue GetValue
4.FieldInfo(字段)
重要方法:SetValue GetValue
5.ConstructInfo(构造方法)
重要方法:Invoke
动态创建对象
Activator.CreateInstance(string 程序集名称,string 类型全名)Activator.CreateInstance(Type type);
Assembly assembly = Assembly.Load(程序集);
assembly.CreateInstance(Type);
//找到有参构造方法,动态调用构造方法
type.GetConstructor(typeof(string)).Invoke()
相关文章推荐
- 【unity】【jit】【游戏开发】讲解ios系统不支持JIT的来龙去脉,以及unity在IOS上需要使用反射时候的替代方案
- Unity C# 使用反射,利用字符串作为泛型参数调用泛型方法。
- Unity Shaders and Effects Cookbook (4-4)在Cubemap 上使用 法线贴图 (法线贴图与反射)
- {Unity} WebGL版本不能使用反射机制以及解决方法
- Unity使用反射探头实现地面的镜面反射
- unity 代码运行时间 和 反射的使用
- Unity项目中使用反射机制实现的泛型单例类
- <Unity UGUI>使用c#反射实现UGUI文本显示的国际化
- 【Unity编辑器】使用反射和Attribute实现自定义右键菜单
- 使用C#反射机制从UnityEditor扒东西
- SpringBoot通过反射使用mybatis的Dao操作
- 关于Unity中表面着色器的使用
- Unity使用C#调用C++dll传递指针参数、接收指针返回值
- WinForm中使用反射将业务对象绑定到窗体或控件容器
- 使用Unity的50个建议
- 使用java反射技术完成对象所有属性值的输出
- [Unity热更新]tolua# & LuaFramework(七):lua使用DOTween
- Unity的50个使用技巧(2016 Edition)
- Mac上使用VScode调试Unity
- [Unity框架]PureMVC在unity中的简单使用