使用下面的代码,Resharper引发了一个'构造函数中的虚拟成员调用'警告:
public class UserDetailViewModel : Screen
{
public UserDetailViewModel()
{
// DisplayName is a virtual member of Screen
DisplayName = "User Details";
}
}
Run Code Online (Sandbox Code Playgroud)
然而,如果我更改代码,就像这样,警告就会消失:
public class UserDetailViewModel : Screen
{
public UserDetailViewModel()
{
SetName();
}
private void SetName()
{
DisplayName = "User Details";
}
}
Run Code Online (Sandbox Code Playgroud)
为什么一个人发出警告而另一个没有?第二种方式是否以某种方式正确,或者它是否超出了ReSharper可以检测到的潜在危险的极限?
jal*_*alf 13
这只是ReSharper的一个限制.它应用了一堆启发式方法来查找它可以警告的代码,但它找不到所有内容.这样做需要解决暂停问题.这不可行.
这里的教训非常简单:
没有警告并不意味着没有什么值得警告的.
| 归档时间: |
|
| 查看次数: |
1644 次 |
| 最近记录: |