我正在使用nameof函数来获取属性名称作为字符串,因此:
public bool IsRunning => ...;
...
RaisePropertyChanged(nameof(IsRunning));
Resharper通过警告突出显示了这一点:
代码有效,我只是想知道上面的警告是否值得我担心。
最佳答案
附加CallerMemberName
属性后,不必显式传递值,因为该属性将为您完成此操作。它将找到调用者的名称并使用它,从而使nameof
声明多余。当然,这是假设您从实际的属性实现中调用RaisePropertyChanged
。
ReSharper将这些调用标记为冗余when you explicitly pass a string literal。它也应该使用nameof
强制相同的逻辑。
关于c# - Resharper突出显示了 “Explicit argument passed to parameter with caller info attribute”对nameof的使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31875261/