gpt4 book ai didi

c# - 在 Resharper 中忽略 "Cannot resolve symbol"

转载 作者:太空宇宙 更新时间:2023-11-03 14:26:23 25 4
gpt4 key购买 nike

假设我有一个这样的方法签名:

protected override void Initialize(params object[] parameters)

...并且该对象可以准确处理所有参数。当我验证这些参数(比如将它们设置为类的字段)并且其中一个是 null 时,我希望能够在没有来自 ReSharper 的警告的情况下执行这样的操作:

if (parameters[5] == null)
/* Yields: Cannot resolve symbol 'knownParameterName' */
throw new ArgumentNullException("knownParameterName");

在我的应用程序上下文中,此警告是正常的。有谁知道我需要忽略什么规则?

最佳答案

您是否尝试过将参数名称放入静态只读字符串数组并调用

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]);
}
...
}

关于c# - 在 Resharper 中忽略 "Cannot resolve symbol",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com