Re[3]: Минутка WTF-14: не повторяясь
От: Sinix  
Дата: 09.01.17 10:34
Оценка:
Здравствуйте, dmitry_npi, Вы писали:

_>То есть, мы можем сказать, что метод GetCustomAttributes тут ни при чём, просто компилятор не поместил повторяющийся атрибут в сборку, причём "одинаковость" он определяет только по параметрам конструктора, остальное (свойства) в счёт не идет.

Таки да, тема раскрыта полностью

_>Так что вопрос сводится к "зачем они так сделали?". Тут могут быть варианты:

Ну, поведение тянется ещё с c# 3 (древнее лень проверять) + в первом рослине огромное количество времени уделяли полному совпадению il-выхлопа для существующего кода на c#, вплоть до тестов с компиляцией всего опенсорс-кода на шарпе на codeproject / codeplex (по памяти, поэтому без пруфов). Т.е. почему не поменялось сразу — понятно.

Позднее, разумеется, пошли ломающие изменения, так что в принципе, может быть поправлено. В c# spec это нигде не оговорено (или я пропустил), в mono (онлайн-сервис для проверки) поведение логичное —
Type-level: 3 attributes
Assembly-level: 3 attributes


Issue завёл, посмотрим, что ответят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.