Unity 使用的 Mono 版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Debug.Log(Application.unityVersion); Type type = Type.GetType( "Mono.Runtime" ); if (type != null ) { MethodInfo displayName = type.GetMethod( "GetDisplayName" , BindingFlags.NonPublic | BindingFlags.Static); if (displayName != null ) Debug.Log(displayName.Invoke( null , null )); MethodInfo[] methods = type.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static); for ( int i = 0; i < methods.Length; i++) { MethodInfo m = methods[i]; Debug.Log((m.IsPublic ? "public " : (m.IsPrivate ? "private " : "" ) ) + (m.IsStatic ? "static " : " " ) + m.ReturnType.Name + " " + m.Name + " " + m.GetParameters().Length); } } |
输出结果
1 2 3 4 5 | 2018.1.0b13 2.0 ( Visual Studio built mono ) private static Void mono_runtime_install_handlers 0 static Void InstallSignalHandlers 0 static String GetDisplayName 0 |
从上述试验可以看出
unity 2018 使用的依旧是 Mono 2.0 版本,而该版本仅实现了 C#3 之前的功能。例如 C#1 奠定了 C# 类型系统的基础,规定了引用类型和值类型的概念,同时让人印象深刻的还有委托; C#2 让人印象深刻的改变是提供了泛型;而 C#3 中则提供了自动属性和初始化简化的语法糖 (Syntactic sugar,也译为糖衣语法,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用)
并且这个 mono.runtime 类中仅有三个函数,分别为
- private static void mono_runtime_install_handlers()
- static void InstallSignalHandlers()
- static String GetDisplayName()
————————————————
分类:
unity dll加密
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)