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

问题描述

我在 Visual Studio 2015 和 C# 中使用 unity,每当我使用这样的东西时:

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,NavMesh.AllAreas)) { return; }

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

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

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

解决方法

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...