不能在此 ref ClassName (byRef) 方法功能 C# 7.2 上使用 类

Cannot use Classes on this ref ClassName (byRef) method Feature C# 7.2

我正在测试新的和闪亮的 C# 7.1/7.2/7.3 功能,当我尝试这个 ref Class 时,它不工作,同时这个 ref int 工作,你们有没有关于如何使其与 类?

一起工作的想法

代码示例:

    public static bool Works(this ref int i)
    {
        return i == 0;
    }

    public static bool DontWorks(this ref Test i)
    {
        return i.A == 0;
    }

    public class Test
    {
        public int A { get; set; }
    }

对不起,标题有点不好,但我不知道如何让它变得更好,如果你愿意,请随时给我建议或编辑。

感谢您的宝贵时间,祝您有愉快的一天。

Ref 扩展方法只允许在已知为结构的类型上使用。这是故意的。这背后的原因可以在 feature proposal document.

中找到

此外,常规 class 类型是引用类型。传递 reference type as a parameter does not copy the object, unlike with value type parameters.