gpt4 book ai didi

c# - 获取给定类型的编程语言

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:55 25 4
gpt4 key购买 nike

我有对某个程序集的类型和类的引用。

var type = typeof(SomeNamespace.SomeClass);

有没有办法获得关于使用什么编程语言编写这个类的元数据? C# 还是 VB 还是 F#?

所以结果我想要这样的东西

var programmingLanguage = getLanguage(type); // C#

更新:

我可以分析这个类使用了哪些程序集或命名空间吗?也许这可以作为寻找语言的线索?

UPD2:

到目前为止我可以使用这个(它只是 VB 检测的一个例子)

var referenced = type.Assembly.GetReferencedAssemblies()
.Where((r) => r.Name.Contains("VisualBasic"));

VB 添加了 Microsoft.VisualBasic。 F# 还添加了它自己的程序集,而 C++ 声明了很多我可以检测到的“自用”类型。所以这是“一种方式”。我知道这不容易出错。而且还会有一些假的情况。那么有什么更好的吗?

最佳答案

.NET 不进行这种区分,您也没有充分的理由这样做。

唯一的方法是分析所使用的类型和代码模式。例如,VB 项目通常引用一组与 C# 不同的程序集。

如果您需要为自己的程序集执行此操作,我建议创建一个自定义 Attribute 类并用它装饰您的程序集。

关于c# - 获取给定类型的编程语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18978129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com