我正在使用this NetResource class将文件发送到网络驱动器,它看起来像这样:
[StructLayout(LayoutKind.Sequential)]
public class NetResource
{
public ResourceScope Scope;
public ResourceType ResourceType;
public ResourceDisplayType DisplayType;
public int Usage;
public string LocalName;
public string RemoteName;
public string Comment;
public string Provider;
}
现在非常重要的是,这些字段的顺序保持不变,正如StructLayout
属性所暗示的那样。
然而,当有人运行resharper清理时,resharper决定移动字段,这会破坏代码。
有没有办法告诉rehsarper不要弄乱它?我觉得如果我不能做到这一点,最终会有人破解代码,不知道去哪里寻找。
但我认为一个平庸的解决方案是创建一个可以检查布局是否如预期的单元测试。
编辑:我看过this answer,但它已经过时了,需要更新resharper设置。我也不能保证同事会使用这个resharper设置。我正在寻找一种将其添加到代码中的方法,就像您可以使用// ReSharper disable once InconsistentNaming
一样
发布于 2018-11-09 13:57:34
我在这里看到了几个解决方案:
NoReorderAttribute
标记类(有几种方法可以将它们添加到项目中)。然后,ReSharper将停止对标记的代码实体内的成员进行重新排序。步骤1:
第2步:
第3步:
第4步:
第5步:
要确保您的同事在ReSharper中使用相同的设置,请将此更改保存到Solution team shared layer (选项对话框底部的Save To
)。然后,如果您的任何同事打开该解决方案,ReSharper将自动使用该层中的设置,而无需执行其他操作。
https://stackoverflow.com/questions/53065472
复制