特定のアセンブリからの型とクラスへの参照があります。
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++ は私が検出できる多くの「自己使用」型を宣言します。だから、これは「方法」です。エラーが発生しにくいことはわかっています。そして、いくつかの偽のケースがあります。それで、もっと良いものはありますか?