当前位置: 首页 > news >正文

Unity Assembly的灵活用法总结

 Assembly最重要的用法就是程序集反射类,并创建类对象

下面通过domain获得所有程序集

再遍历程序集内所有的类型,拿到Type

Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblies)
{Type[] types = assembly.GetTypes();foreach (Type type in types){。。。。}
}

拿到Type后,就可以根据type创建对象了。

Type与Attribute的用法
 

//自定义Attribute
[AttributeUsage(AttributeTargets.Class)]
public class TypeNameAttribute : Attribute
{public string typeName { get; set; }public TypeNameAttribute(string type){typeName = type;}
}
[TypeName("TestTypeNameClass")]
public class MyClass
{public MyClass(){}
}
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblies)
{Type[] types = assembly.GetTypes();foreach (Type type in types){TypeNameAttribute attribute = type.GetCustomAttribute<TypeNameAttribute>();if (attribute != null) //如果这个Class添加了TypeNameAttribute,则attribute创建不为空{var instance = Activator.CreateInstance(type);}}
}

 上文Activator.CreateInstance得到的结果会是我们自定义创建的MyClass对象。

http://www.xdnf.cn/news/1012519.html

相关文章:

  • 一块开发板多少钱?如何花最少的钱入门?
  • 【大模型02---Megatron-LM】
  • Node.js特训专栏-基础篇:2. JavaScript核心知识在Node.js中的应用
  • Flink 系列之二十八- Flink SQL - 水位线和窗口
  • 【计算机组成原理 第5版】白、戴编著 第七章 总线系统 课后题总结
  • 为什么电流、电压相同,功率却不同
  • ETLCloud中数据脱敏规则的使用技巧
  • 【有源医疗器械检测的常见问题、整改方法、送检了解】
  • HALCON第六讲->测量和检测
  • leetcode0721. 账户合并-medium
  • 推荐一个 github加速器
  • 探索MCP Server Chart:AI赋能的统计图表自动生成工具
  • Docker|简单入门
  • SAP BTP连接SAP,云连接器
  • 安装 LibreOffice
  • LangGraph高级教程:构建规划执行型智能体
  • 高动态范围成像
  • TSC TTP-244 打印机TSPL PUTBMP指令图片打印失败
  • 树莓派5实现串口通信教程
  • odoo 维护模块维护团队实践指南
  • Windows 操作系统 - 打开任务管理器的不同方式
  • 高保真组件库:获取验证码
  • C++中的RAII技术:资源获取即初始化
  • 3.4_1 流量控制、可靠传输与滑动窗口机制
  • COHERENT Chameleon™Ultra、Vision和Vision-S激光系统操作员手侧
  • pyhton基础【6】容器介绍一
  • 【Create my OS】0 前置知识
  • java事件处理机制
  • ESXi安装Home Assistant OS(HAOS)指南
  • 属于亚马逊WOOT的“特权”