gpt4 book ai didi

c# - Resharper 中的警告 "Return value of pure method is not used"

转载 作者:可可西里 更新时间:2023-11-01 08:02:56 27 4
gpt4 key购买 nike

我有一个快速的问题,关于我正在工作的 c# 项目中从 Visual Studio 中的 Resharper 收到的警告。警告是:

" Return Value of pure method is not used"

发生这种情况的方法如下:

 private static bool FilePathHasInvalidChars(string userInputPath)
{
try
{
//this is where the warning occurs:
Path.GetFullPath(userInputPath);

}
catch (Exception e)
{
Log.Error(String.Format(
"The Program failed to run due to invalid characters or empty " +
"string value for the Input Directory. " +
"Full Path : <{0}>. Error Message : {1}.",
userInputPath, e.Message), e);
return true;

}
return false;
}

我想我知道为什么会出现警告。我使用 Path.GetFullPath(path) 只是为了捕获所有与无效字符有关的异常。该路径将作为用户输入提供,因此我实际上并未使用 Path.GetFullPath(userInputPath) 的结果。我对它的唯一用途是检查我对该方法的检查,即检查我对主要方法所做的检查,以确保提供的路径不为空或不包含任何无效字符。

我使用上述方法的地方如下:

if (FilePathHasInvalidChars(inputDirectory))
{
return;
}

基本上它只是程序使用无效参数开始执行之前的一个退出点。

我想知道这个警告是否会导致任何问题,或者我是否误用了 Path.GetFullPath 方法,这会导致我在未来出现问题?

最佳答案

不,这不会给您带来任何问题,因为这实际上是您想要使用它的方式。

在这种情况下,Resharper 提示只是一个指针,以防您忘记创建一个变量来保存您获取的数据。由于您只是在验证,实际上并不需要该数据,所以您应该没问题。

编辑:请注意,您可以避免提示,并通过使用特定的 Resharper 评论明确这是故意的,如下所示:

// ReSharper disable once ReturnValueOfPureMethodIsNotUsed
Path.GetFullPath(userInputPath);

编辑 #2: SynerCoder is probably right though ,关于 System.IO.Directory.Exists() 是您特定目的的更好选择...

关于c# - Resharper 中的警告 "Return value of pure method is not used",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20606022/

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