Unity 使用的 Mono 版本

举报
福州司马懿 发表于 2021/11/19 02:48:23 2021/11/19
【摘要】 Debug.Log(Application.unityVersion); Type type = Type.GetType("Mono.Runtime"); if (type != null) { ...
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);
    }
}
  
 

输出结果

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()

文章来源: blog.csdn.net,作者:福州-司马懿,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/chy555chy/article/details/80451237

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。