Visual Studio 2015 误报关键字引用类型作为方法参数

Visual Studio 2015 false alarm out keyword reference types as method arguments

我在 Visual Studio 2015 年使用 C# 统一,每当我使用这样的东西时:

if (!NavMesh.SamplePosition(position, out NavMeshHit hit, 1f, NavMesh.AllAreas)) { return; }

或这个

if (!Physics.Raycast(ray, out RaycastHit hit, Mathf.Infinity)) { return; }

我收到 RaycastHit hitNavMeshHit hit 的编译时错误警告,之后使用了 hit。 如果我将其声明为局部变量,错误就会消失

NavMeshHit hit;
if (!NavMesh.SamplePosition(position, out hit, 1f, NavMesh.AllAreas)) { return; }

RaycastHit hit;
if (!Physics.Raycast(ray, out hit, Mathf.Infinity)) { return; }

或者按 Ctrl + . 然后 Esc 取消它,错误消失,即使它没有,它也编译正常并进入 运行-时间没问题。

有没有办法在 visual studio 中解决这个问题?

这是 Visual Studio 2015 中不可用的 C# 7 功能,您必须升级到 2017 或忽略它。

编辑:最后使用 Visual Studio 代码,因为对我来说 Visual Studio 2017 年太大了,50GB,而 2015 年只有 9GB