【发布时间】:2019-05-21 14:53:36
【问题描述】:
我有一个 C# 项目,其中包含如下所示的方法:
bool TheMethod(Type arg, out Type output)
稍后在文件中调用它,它看起来像这样,只有一个参数:
if (TheMethod(someArgument))
而VS Code报这个错误:
没有给出与所需形式相对应的参数 'TheMethod(Type, out Type)' (CS7036) [Managed]的参数'output'
尽管出现此错误,但代码编译并运行良好。这是怎么回事?这是代码验证的问题吗?在某些情况下是否需要 out 参数,但在其他情况下不需要?我是否应该编辑代码以使其输出到本地字段,即使我永远不会使用它?
实际代码可以在这里找到:https://github.com/godotengine/godot/blob/master/modules/mono/glue/Managed/Files/MarshalUtils.cs#L156
【问题讨论】:
-
你在调用什么方法?
-
CS7036 是一个编译器错误,它不可能正在编译和运行。
-
也许您运行的是在引入错误之前的旧编译版本?
-
您链接到的代码包含在编译器指令中,这意味着它不会在调试模式下编译。它应该在发布配置中工作。
-
另请注意,代码是 4 天前添加的,所以它只是损坏了,不应该使用。
标签: c# parameters visual-studio-code out