说我有这样的方法签名:
protected override void Initialize(params object[] parameters)
...对象可以准确处理所有参数。当我对这些参数进行验证(比如将它们设置为类的字段)并且其中一个是null
时,我希望能够在没有来自ReSharper的警告的情况下执行此类操作:
if (parameters[5] == null)
/* Yields: Cannot resolve symbol 'knownParameterName' */
throw new ArgumentNullException("knownParameterName");
在我的应用程序的上下文中,此警告是可以的。有谁知道我需要忽略什么规则?
答案 0 :(得分:1)
您是否尝试将参数名称放入静态只读字符串数组并调用
throw new ArgumentNullException(initializationParameterNames[5]);
你可以这样做:
protected override void Initialize(params object[] parameters)
{
for (int paramIndex = 0; paramIndex < initializationParameterNames.Length; paramIndex++)
{
if (parameters.Length <= paramIndex)
throw new ArgumentException("Missing " + initializationParamterNames[paramIndex]);
if (parameters[paramIndex] == null)
throw new ArgumentNullException(initializationParameterNames[paramIndex]);
}
...
}
答案 1 :(得分:0)
我没有在选项中看到任何可以控制它的内容,至少没有在选项对话框中显示。您是否尝试过在Resharper论坛上提问?他们在那里非常敏感。