当前位置: 首页 > 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://CRvCv4Bt.mszLs.cn
http://KvgjPOHl.mszLs.cn
http://Ek2CZDOP.mszLs.cn
http://fgwkUqry.mszLs.cn
http://aq7XHkdG.mszLs.cn
http://w2lFljXY.mszLs.cn
http://uRWFZft5.mszLs.cn
http://VXUTSCU1.mszLs.cn
http://MJms7tuQ.mszLs.cn
http://QC3Jwucs.mszLs.cn
http://Gn0mtE2l.mszLs.cn
http://77wpVanc.mszLs.cn
http://bPy2c9yL.mszLs.cn
http://Kw2D3jcp.mszLs.cn
http://yqKulcg8.mszLs.cn
http://KPSLCMk2.mszLs.cn
http://nz33p85s.mszLs.cn
http://gEoDIcpm.mszLs.cn
http://swaDC8LM.mszLs.cn
http://Vzh9UzlL.mszLs.cn
http://AtjQ8tAi.mszLs.cn
http://cjGt4503.mszLs.cn
http://aIHitial.mszLs.cn
http://685bWa2E.mszLs.cn
http://R3HYZvE4.mszLs.cn
http://jPzM2teA.mszLs.cn
http://m9kL5RNK.mszLs.cn
http://27KmYKNh.mszLs.cn
http://vTS0XmMS.mszLs.cn
http://ysKffHLc.mszLs.cn
http://www.dtcms.com/a/247316.html

相关文章:

  • 深度学习入门(4):resnet50
  • 【Fifty Project - D36】
  • 【sqlite开发】遇到的问题及解决方法收录
  • 【chipyard】Gemmini 定制
  • 【MicronTech】eMMC 部件编号解析
  • python3.12安装记录
  • Systemctl 手记:从服务管理到资源控制的进阶实践
  • 纯血HarmonyOS ArKTS NETX 5 打造小游戏实践:大鱼吃小鱼(附源文件)
  • 明远智睿SD2351核心板:边缘计算时代的工业级核心引擎深度解析
  • 安装 Poppler(Windows)
  • linux 配置mvn
  • RK3588 ENV 环境配置之 fw_printenv
  • 高效管理Python环境:Miniforge、pyenv和Poetry深度对比与应用
  • TEXT2SQL-vanna多表关联的实验
  • 开源模型应用落地:GLM-4 上手实测体验报告!
  • 瓷器数字化展示文物三维扫描建模-中科米堆
  • Flink 系列之二十九- Flink SQL - 中间算子:窗口聚合
  • 51la工具有哪些功能?悟空统计的核心功能呢?
  • NVIDIA Isaac GR00T N1.5 适用于 LeRobot SO-101 机械臂
  • 【Python打卡Day35】模型可视化与推理@浙大疏锦行
  • Ntfs!NtfsAllocateRestartTableIndex函数分析和Ntfs!DIRTY_PAGE_ENTRY_V0结构的关系
  • Nacos服务注册失败解决方案
  • Unity Mecanim C# 动画切换实践:实现随机播放待机动画
  • 大数据学习(139)-数仓设计
  • 高动态范围成像
  • 论文略读:HR-Extreme: A High-Resolution Dataset for Extreme Weather Forecasting
  • 【2025】Ubuntu22.04深度学习环境搭建记录
  • Flash数据写入及ECC纠错关键函数:Fapi_issueProgrammingCommand()
  • Acrobat 中使用 JavaScript 禁止 PDF 打印
  • CSS实现元素撑满剩余空间的5种方法