使用英语阅读

通过


编译器错误 CS8129

找不到类型适用的 Deconstruct 实例或扩展方法,参数为 out,返回类型为 void

示例

下面的示例生成 CS8129:

// CS8129.cs (11,52)

class C
{
    static void Main()
    {
        long x;
        string y;
        (x, y) = new C();
    }

    public int Deconstruct(out int a, out string b)
    {
        a = 1;
        b = "hello";
        return 42;
    }
}

更正此错误

有效的 Deconstruct 方法会返回 void,并具有两个或更多与要析构的元组类型匹配的 out 参数。 实现有效的 Deconstruct 方法可更正此错误:

    public void Deconstruct(out int a, out string b)
    {
        a = 1;
        b = "hello";
    }