我尝试了一个简单的测试,但它并不喜欢变量
作为一个简单的测试,我写了这个(也许它有一些简单的错误,但我也遇到了模式和元组的问题)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
public class Program
{
static void Main(string[] args)
{
Runner runner = new ConsoleApplication2.Runner();
Point p = new ConsoleApplication2.Point();
runner.PrintCoordinates(p);
}
}
public class Point
{
int x = 20;
int y = 50;
public void GetCoordinates(out int a, out int b)
{
a = x;
b = y;
}
}
public class Runner
{
public void PrintCoordinates(Point p)
{
p.GetCoordinates(out int x, out int y);
Console.WriteLine($"({x}, {y})"); // x does not exist in current context
}
}
}
答案 0 :(得分:5)
根据this post,powershell -Command "& { try { <PowerShell commands> } catch { Write-Host "post-build : PowerShell error $^($_.Exception.HResult^) : $_"; exit $_.Exception.HResult; } }"
示例方法来自:
注意:在预览版4中,范围规则更具限制性:输出变量的范围限定为声明它们的语句。因此,上述示例在稍后发布之前不起作用。
新的元组遇到了类似的问题,尽管看起来你可以通过NuGet下载部分解决这个问题:
注意:元组依赖于预览4中未包含的一组基础类型。要使该功能正常工作,您可以通过NuGet轻松获取它们:
- 在解决方案资源管理器中右键单击该项目,然后选择“管理NuGet包...”
- 选择“浏览”标签,选中“包括预发布”,然后选择“nuget.org”作为“包源”
- 搜索“System.ValueTuple”并安装它。