当前位置:  开发笔记 > 编程语言 > 正文

是否有可能确定事先将.NET程序集用于哪种语言?

如何解决《是否有可能确定事先将.NET程序集用于哪种语言?》经验,为你挑选了0个好方法。

这开始是一种查找C++/CLI和托管C++程序集的方法,以便可以测试它们内部的所有类,以确保重新实现所有继承的方法.我想将此添加为构建过程步骤,以确保它不会再次发生.

考虑到这个问题也让我有点好奇,因为能够确定使用的任何.NET语言会很有趣.因此,我进一步比较了所有.NET语言的程序集.到目前为止,我通过我编写的一个小程序发现了这一点,它通过反射比较来自任何.NET程序集的类型和属性数据:

C# - 具有AssemblyConfigurationAttribute,具有GuidAttribute

VB - 有许多额外的"我的"类型(例如MyApplication,MySettings),有GuidAttibute

F# - 具有FSharpInterfaceDataVersionAttribute,它还指定所使用的编译器的版本.

C++(除了/ clr:safe之外) - 有一堆额外的类型(FrameInfo,type_info)

C++/clr:safe - 似乎没有独特的反射功能.

按此顺序解析可能是合理的:

    如果它具有FSharpInterfaceDataVersionAttribute,则为F#

    它是C++,如果它有我发现的大量额外类型中的任何一种.

    它是VB,如果它有"我的*"类型.

    它是C#,如果它有AssemblyConfigurationAttribute或GuidAttribute

    它可能是C++/clr:安全

然而,由于这是一个可怕的黑客,我想在这里检查,以确保没有其他选项可用.

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有