我正在使用腰带和吊带类型检查潜在的空对象问题。不过,Resharper 的表现并不好。在调试版本中,它if (button != null)
会将检查标记为始终为真,并在侧边栏中放置一个警告标记。在发布版本中,它遮蔽了Debug.Assert
从未使用过的代码,尽管至少它足够聪明,这次不会弄乱侧边栏。
我不想全局禁用总是 true/false resharper 警告,因为它可以指示代码中的问题。同时,ReSharper disable/restore ConditionIsAlwaysTrueOrFalse
每次我做检查时都必须用注释把我的代码弄得乱七八糟,这很丑陋。
ReSharper 5.1 中是否有一个选项可以禁用构建类型的条件行为,以便在调试构建中不标记 if ,而不会阻止在Assert
不存在时显示警告?
//This should always work unless the columns are fiddled with.
LinkButton button = e.Row.Cells[5].FindControl( "linkButtonName" ) as LinkButton;
//if this isn't the case in a debug build have VS throw an error in the devs face
Debug.Assert(button != null);
//Don't let anything go boom in production if an error isn't caught in dev
if (button != null)
button.Visible = ( schedule.CreatedBy == Authentification.GetLoggedInUser() );