Rozpoczęło się to od znalezienia złożeń C++/CLI i Managed C++, aby wszystkie klasy wewnętrzne mogły zostać przetestowane, aby zapewnić, że wszystkie odziedziczone metody zostały ponownie zaimplementowane. Chciałbym dodać to jako etap procesu kompilacji, aby upewnić się, że nigdy się to nie powtórzy.Czy można ustalić, w jakim języku Zgromadzenie .NET zostało napisane ex post facto?
Pomyśl o tym problemie również mnie trochę zaciekawił, ponieważ byłoby interesujące móc określić dowolny język .NET. Z tego powodu poszedłem trochę dalej i porównałem zespoły ze wszystkich języków .NET. Dotychczas oto co znalazłem dzięki małym programem pisałem który porównuje typ i danych z dowolnego zestawu zespołów .NET atrybutu poprzez refleksji:
- C# - Czy AssemblyConfigurationAttribute, Ma GuidAttribute
- VB - Ma wiele dodatkowych "My" (np. MyApplication, MySettings), ma GuidAttibute
- F # - Posiada FSharpInterfaceDataVersionAttribute, która również określa wersję używanego kompilatora.
- C++ (wszystkie oprócz/clr: safe) - Zawiera kilka dodatkowych typów (FrameInfo, type_info)
- C++/clr: safe - Wydaje się, że nie ma żadnych unikatowych funkcji odbicia.
To może być uzasadnione analizować w tej kolejności:
- To F # jeśli to ma FSharpInterfaceDataVersionAttribute
- Jest C++, jeśli ma każdy w ogromnym zestawem dodatkowych typów znalazłem.
- To VB, jeśli ma typy "My *".
- Jest to C#, jeśli ma AssemblyConfigurationAttribute lub GuidAttribute
- To może być C++/clr: Bezpieczny
Jednakże, jak to jest okropny hack, chciałem sprawdzić się, aby upewnić się, że nie był dostępna jest inna opcja.
Interesujące pytanie, ale dlaczego korzystanie z łaciny? Retrospektywnie byłoby łatwiej zrozumieć. Nie każdy tutaj jest native speakerem języka angielskiego. – danio
@danio: Bo łacina jest niesamowita? – bcat