Wpf 使模式匹配成为漂亮的代码

Wpf 使模式匹配成为漂亮的代码,wpf,refactoring,resharper,Wpf,Refactoring,Resharper,所以。。我在WPF中得到了这个转换器,它应该得到一个方向作为参数。如果没有,转换器应将方向指定为水平方向 这是我的代码: Orientation orientation = Orientation.Horizontal; if (parameter is Orientation) orientation = (Orientation) parameter; 然而,resharper在“is”下加了一个wiggle,并建议我“将强制转换与类型检查合并”。使用重构,看起来是这样的: O

所以。。我在WPF中得到了这个转换器,它应该得到一个方向作为参数。如果没有,转换器应将方向指定为水平方向

这是我的代码:

 Orientation orientation = Orientation.Horizontal;
if (parameter is Orientation)
     orientation = (Orientation) parameter;
然而,resharper在“is”下加了一个wiggle,并建议我“将强制转换与类型检查合并”。使用重构,看起来是这样的:

Orientation orientation = Orientation.Horizontal;
if (parameter is Orientation orientation1)
    orientation = orientation1;
它使用虚拟变量

我认为我自己的作品是最美好、最干净的,但resharper不同意。您将如何编写这段代码

我知道resparper可以配置,但我最喜欢这种类型的建议。只是在处理结构时,它似乎变得疯狂

在我看来,R#通过使用最新的c#特性使这里的代码复杂化。您的变体非常清晰,我看不出有必要更改它(只有3行!)

但请考虑使用<代码>为< /COD>运算符,并将其返回到默认值(要求可空类型<代码>定位> <代码> >

返回

Orientation.Vertical
Orientation.Horizontal
在我看来,R#通过使用最新的c#特性使这里的代码复杂化。您的变体非常清晰,我看不出有必要更改它(只有3行!)

但请考虑使用<代码>为< /COD>运算符,并将其返回到默认值(要求可空类型<代码>定位> <代码> >

返回

Orientation.Vertical
Orientation.Horizontal

我认为这是基于意见的。我喜欢合并,因为它是:-)大多数事情都是在最佳实践方面。这甚至取决于你认为谁会在以后阅读你的代码。我认为这是基于观点的。我喜欢合并,因为它是:-)大多数事情都是在最佳实践方面。这甚至取决于您认为谁将在以后阅读您的代码。