安装R#9.0后,8.2的自定义文件布局不再起作用了。 我使用布局设计器重新创建了相同的模式,这是9.0中的新功能。
我无法重现的部分是使用访问修饰符的属性的详细排序定义:
9.0之前看起来像这样:
[...]
<Sort>
<Access Order="private public internal protected-internal protected"/>
</Sort>
[...]
...导致属性按定义排序 - 尤其是:private
首先!
在9.0中使用新的Designer时,生成的XAML如下:
[...]
<Entry.SortBy>
<Access />
</Entry.SortBy>
[...]
...仍然使用访问修饰符对成员进行排序,但使用了一些默认的排序规范。设计人员不允许指定任何其他属性并手动编辑XAML,因为在9.0之前会产生错误。
在R#9.0中是否有办法控制public
,private
等会员的顺序?
<击>顺便说一下。对于Kind
等其他排序规范也存在同样的问题:不再可能指定例如property
method
应该在{{1}}之前等
答案 0 :(得分:4)
事实证明,排序仍然可以在9.0之前指定 - 但语法略有不同:
[...]
<Entry.SortBy>
<Access Order="private public internal protectedinternal protected"/>
</Entry.SortBy>
[...]
区别在于protected-internal
现在必须是protectedinternal
而不是......
另请注意,您必须在XAML视图中手动执行此操作,因为可视布局设计器尚不支持此设置。 (但它会检测您编辑中的错误 - 因此请务必在XAML之间来回切换到Designer视图以检查是否有任何损坏。)
关于种类的第二部分:它们也可以分类。这是对我的疏忽。
修改强> 整个条目看起来像这样:
<Entry DisplayName="non-private Fields">
<Entry.Match>
<And>
<Kind Is="Field" />
<Not>
<Access Is="Private" />
</Not>
</And>
</Entry.Match>
<Entry.SortBy>
<Access Order="Public Internal ProtectedInternal Protected Private" />
<Name Is="Enter Pattern Here" />
</Entry.SortBy>
</Entry>