c# - Visual Studio 2015 误报出关键字引用类型作为方法参数
问题描述
我在 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 hit
或者NavMeshHit 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 Code,因为对我来说 Visual Studio 2017 太大了,50GB 与 2015 年相比只有 9GB
推荐阅读
- python - 在 python 中编程磁场
- amazon-web-services - 是否可以制作混合 K8S 集群 AWS / Raspberry PI
- javascript - 尝试学习 React 钩子但不明白为什么此复选框行为被破坏?
- mysql - Laravel orderBy减慢响应
- python - Python 谷歌地图 API
- javascript - 与父级大小相同的 div 元素
- php - 在具有现有主键的表中添加自动递增 id
- angular - 带有 API 数据的饼图中的 Angular Highcharts 系列名称
- excel - 在工作表中搜索单元格值,然后将相邻单元格复制到变量范围中
- java - 从许多 REST 服务中使用单个 DTO 的架构方法