這開始是爲了找到C++/CLI和託管C++程序集,以便可以測試它們內部的所有類以確保所有繼承的方法都被重新實現。我想將此添加爲構建流程步驟,以確保它不再發生。是否有可能確定.NET程序集事後寫入哪種語言?
關於這個問題的思考也讓我有點好奇,因爲能夠確定使用的任何.NET語言會很有趣。正因爲如此,我進一步瞭解了所有.NET語言的程序集。到目前爲止,這裏是我通過一個小程序,我寫了比較類型和通過反射屬性從任何一組.NET程序集的數據發現:
- C# - 有AssemblyConfigurationAttribute,擁有GuidAttribute
- VB - 有許多額外的「我的」類型(例如MyApplication,MySettings),有GuidAttibute
- F# - 有一個FSharpInterfaceDataVersionAttribute,它也指定了所用編譯器的版本。
- C++(all but/clr:safe) - 有一堆額外的類型(FrameInfo,type_info)
- C++/clr:safe - 似乎沒有獨特的反射功能。
它可能是合理的順序來解析:
- 這是F#它是否具有FSharpInterfaceDataVersionAttribute
- 這是C++,如果有任何的龐大集合額外的類型,我發現的。
- 這是VB如果它有「我的*」類型。
- 這是C#如果它有AssemblyConfigurationAttribute或GuidAttribute
- 這很可能是C++/CLR:安全
然而,由於這是一個可怕的黑客,我想在這裏檢查,以確保有WASN另一個選項可用。
有趣的問題,但爲什麼使用拉丁?回顧性會更容易理解。並不是每個人都是以英語爲母語的人。 – danio 2009-02-25 09:16:19