Ответ 1
Вы можете настроить XML файл макета элемента по умолчанию и указать шаблон, который вы хотите игнорировать во время этапа "Изменить порядок членов" для очистки кода.
Посмотрите раздел "Макет типа" в настройках Resharper. Вы можете видеть, что для COM-интерфейсов и Structs уже есть два исключения, с StructLayoutAttribute
:
<!--Do not reorder COM interfaces-->
<Pattern>
<Match>
<And Weight="100">
<Kind Is="interface"/>
<HasAttribute
CLRName="System.Runtime.InteropServices.InterfaceTypeAttribute"/>
</And>
</Match>
</Pattern>
<!--Do not reorder when StructLayoutAttribute is set -->
<Pattern>
<Match>
<And Weight="100">
<Or>
<Kind Is="struct"/>
<Kind Is="class"/>
</Or>
<HasAttribute
CLRName="System.Runtime.InteropServices.StructLayoutAttribute"/>
</And>
</Match>
</Pattern>
Вы можете легко создать свой собственный IgnoreTypeMemberReorderingAttribute
и добавить небольшой раздел в файл XML, который проверяет его.